Initial commit
This commit is contained in:
@@ -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">
|
||||
© <%= 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>
|
||||
Reference in New Issue
Block a user