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,44 @@
<style type="text/css">
html, body, #map {height: 100%; padding: 0; margin: 0;}
/* footer */
.cartodb-text {position:absolute; display:none; bottom:0; left:0; right:0; margin:0; padding:0 10px; background:white; font:normal 11px "Helvetica",Arial; color:#999999; border-top:1px solid #CCC; border-top:1px solid rgba(0,0,0,0); box-shadow:rgba(0,0,0,0.6) 0 0 1px 0; -webkit-box-shadow:rgba(0,0,0,0.6) 0 0 1px 0; -moz-box-shadow:rgba(0,0,0,0.6) 0 0 1px 0; -o-box-shadow:rgba(0,0,0,0.6) 0 0 1px 0; line-height:29px; z-index:2; }
.cartodb-text a {color:#397DB8; text-decoration:underline;}
.cartodb-text a.user { text-decoration:none }
.cartodb-text img {display:inline-block; *display:inline; vertical-align:middle; border-radius:16px; -webkit-border-radius:16px; -moz-border-radius:16px; zoom:1; text-decoration:none }
.cartodb-text span.username { text-decoration:underline }
/* not supported dialog */
#not_supported_dialog {position:absolute; width:356px; height:213px; top:50%; left:50%; margin-top:-107px; margin-left:-178px; padding:0; background-color:#FFF; text-align:center; font-family:'Helvetica', Arial; color:#666666; z-index:10000;}
#not_supported_dialog h2 {display:inline-block; width:77px; margin:30px 0 0; padding-bottom:16px; font-size:13px; font-weight:bold; border-bottom:1px solid #D9D9D9; vertical-align:top; zoom:1; *display:inline;}
#not_supported_dialog p {display:block; padding:0 40px; margin:12px 0 0; font-size:15px;}
#not_supported_dialog ul {position:absolute; bottom:0; left:0; right:0; display:block; margin:0; padding:0; list-style:none; border-top:1px solid #D9D9D9;}
#not_supported_dialog ul li {float:left; margin:0; padding:0; border-right:1px solid #D9D9D9;}
#not_supported_dialog ul li a {display:block; width:118px; height:74px; background-repeat:no-repeat; background-position:center center; font-size:0; line-height:0; text-indent:-9999px;}
#not_supported_dialog ul li.last {border:none;}
#not_supported_dialog a.safari {background-image:url('<%= editor_image_path "layout/safari.png" %>');}
#not_supported_dialog a.chrome {background-image:url('<%= editor_image_path "layout/chrome.png" %>');}
#not_supported_dialog a.firefox {background-image:url('<%= editor_image_path "layout/firefox.png" %>');}
:-webkit-full-screen .cartodb-map-wrapper { height: 100%!important; }
:-moz-full-screen .cartodb-map-wrapper { height: 100%!important; }
:-ms-fullscreen .cartodb-map-wrapper { height: 100%!important; }
:fullscreen .cartodb-map-wrapper { height: 100%!important; }
<% if @hide_logo %>
<% else %>
/* Styles showing up new cartodb text */
<% if @visualization.user.remove_logo? && !Cartodb.config[:cartodb_com_hosted].present? %>
<% if !params['cartodb_logo'] || params['cartodb_logo'] == "true" %>
.cartodb-map-wrapper {bottom:30px!important;}
.cartodb-text {display:block;}
<% end %>
<% else %>
.cartodb-map-wrapper {bottom:30px!important;}
.cartodb-text {display:block;}
<% end %>
<% end %>
</style>
<%= editor_stylesheet_link_tag 'cartodb.css' %>
@@ -0,0 +1,155 @@
<% if @visualization.map.provider == 'googlemaps' %>
<%= insert_google_maps(@visualization.user.google_maps_query_string) %>
<% end %>
<%= editor_javascript_include_tag 'embed.js' %>
<script>
// Get url parameters
function get_url_params(conversion) {
conversion = conversion || {};
var tokens = location.search.slice(1).split('&');
var params = {};
for (var i = 0; i < tokens.length; ++i) {
var tk = tokens[i].split('=');
var fn = conversion[tk[0]] || function(v) { return v };
if (tk.length === 2) {
params[tk[0]] = fn(decodeURIComponent(tk[1]));
}
}
return params;
}
// Manage errors
function manageError(err, layer) {
if(layer && layer.get('type') === 'torque') {
$('#not_supported_dialog').show();
// hide all the overlays
var overlays = this.getOverlays()
for (var i = 0; i < overlays.length; ++i) {
var o = overlays[i];
o.hide && o.hide();
}
}
}
// Send stats
function stats() {
var browser;
var ua = navigator.userAgent;
var checks = [
['MSIE 11.0', 'ms11'],
['MSIE 10.0', 'ms10'],
['MSIE 9.0', 'ms9'],
['MSIE 8.0', 'ms8'],
['MSIE 7.0','ms7'],
['Chrome', 'chr'],
['Firefox', 'ff'],
['Safari', 'ff']
]
for(var i = 0; i < checks.length && !browser; ++i) {
if(ua.indexOf(checks[i][0]) !== -1) browser = checks[i][1];
}
browser = browser || 'none';
cartodb.core.Profiler.metric('cartodb-js.embed.' + browser).inc();
}
// On load...
$(function(){
// Set visualization user url prefix
cartodb.config.set('url_prefix', '<%= @visualization.user.public_url(nil, request.protocol == "https://" ? "https" : "http") %>');
var bool_fn = function(v) { return v == 'true' };
var is_custom_install = <%= Cartodb.config[:cartodb_com_hosted].present? %>;
var logo_fn = function(v) { return ( <%= !@visualization.user.remove_logo? %> || is_custom_install ) ? true : v == 'true' };
var layer_fn = function(v) {
if(!v || !v.length) {
return null;
}
return _.map(v.split("|"), function(v) {
return { visible: !!parseInt(v, 10) }
});
};
var opt = get_url_params({
'force_mobile': bool_fn,
'search': bool_fn,
'title': bool_fn,
'description': bool_fn,
'shareable': bool_fn,
'fullscreen': bool_fn,
'cartodb_logo': logo_fn,
'scrollwheel': bool_fn,
'sublayer_options': layer_fn,
'layer_selector': bool_fn,
'legends': bool_fn
});
<% if (@visualization.password_protected? or @visualization.is_privacy_private?) and @protected_map_tokens %>
opt.auth_token = [];
<% @protected_map_tokens.each do |token| %>
opt.auth_token.push('<%= token %>');
<% end %>
opt.https = true; // when auth_token is used tiles should be fetch using https
<% end %>
<% if Rails.env.development? || Cartodb.config[:no_cdn] == true %>
opt.no_cdn = true;
<% end %>
<% if @hide_logo %>
opt.cartodb_logo = false;
<% end %>
opt.mobile_layout = true;
cartodb.config.set({
cartodb_attributions: "CARTO <a href='https://carto.com/attributions?utm_source=Footer_Link&utm_medium=referral&utm_campaign=Embed_v1&utm_content=Attributions&utm_term=<%= @visualization.user.username %>' target='_blank'>attribution</a>",
cartodb_logo_link: "https://carto.com?utm_source=Footer_Link&utm_medium=referral&utm_campaign=Embed_v1&utm_content=Logo"
})
var loadingTime = cartodb.core.Profiler.metric('cartodb-js.embed.time_full_loaded').start();
var visReadyTime = cartodb.core.Profiler.metric('cartodb-js.embed.time_vis_loaded').start();
cartodb.createVis('map', <%= safe_js_object @visualization.to_vizjson({https_request: request.protocol == 'https://'}).to_json %>, opt, function(vis) {
visReadyTime.end();
vis.on('load', function() {
loadingTime.end();
});
window.vis = vis;
// fixes default position of the overlays
setTimeout(function() {
$(window).trigger("map_resized");
}, 400);
// some stats
stats();
}).on('error', manageError);
});
//<!-- load stats -->
<% if Cartodb.config[:graphite_public] %>
if (location.protocol.indexOf('https') === -1) {
jQuery.getScript('<%= javascript_path "statsc.js" %>', function(ready) {
statsc.connect('http://<%= Cartodb.config[:graphite_public]['host'] %>:<%= Cartodb.config[:graphite_public]['port'] %>/');
cartodb.core.Profiler.backend(function () {
statsc.send.apply(statsc, arguments);
})
// stop sending stats after 11 seconds
// statsc send stats in 5 secs interval so allow to send at least twice
setTimeout(function() {
cartodb.core.Profiler.backend(null);
}, 11*1000);
})
}
<% end %>
</script>
@@ -0,0 +1,16 @@
<%# Still used for public dataset page %>
<div class="cartodb-footer">
<div class="inner">
<div class="copyright embed-left-col">
<div class="content">
&copy; <%= Time.now.year %> CARTO - <a href="https://carto.com/signup" title="Create your own maps with CARTO">Create your own maps</a>
</div>
</div>
<div class="terms embed-right-col">
<div class="content">
<a href="https://carto.com/terms/" target="blank">Terms of Service</a> ·
<a href="https://carto.com/privacy/" target="blank">Privacy policy</a>
</div>
</div>
</div>
</div>