Enabling copy buttons functionality

[finishes #55299248]
This commit is contained in:
Gonçalo Silva and Nick Street
2013-08-21 14:20:14 +01:00
parent a17592cd76
commit d148bc7af4
8 changed files with 47 additions and 52 deletions
-1
View File
@@ -2,5 +2,4 @@
.#*
*~
_site
*.sw?
.idea
+1 -1
View File
@@ -10,7 +10,7 @@ Download
<div class="download-widget--body">
The recommended way to get the code for this project is to use a dependency management system. The snippet below can be
copied and pasted into your build when you create a new project, or when adding <code>{{ site.project }}</code> to your project.
<div class="highlight"><button class="copy-button snippet" id="copy-button-2" data-clipboard-target="code-block-2"></button>
<div class="highlight">
<div class="js-download-maven-widget"></div>
</div>
</div>
+10 -8
View File
@@ -10,12 +10,12 @@
<link rel="stylesheet" type="text/css" href="{{site.baseurl}}/font-awesome/css/font-awesome.min.css" />
<link rel="stylesheet" type="text/css" href="{{site.baseurl}}/bootstrap/css/bootstrap-select.css" />
<link rel="stylesheet" type="text/css" href="{{site.baseurl}}/css/main.css.css" />
<link rel="stylesheet" type="text/css" href="{{site.baseurl}}/css/typography.css.css" />
<link rel="stylesheet" type="text/css" href="{{site.baseurl}}/css/icons.css.css" />
<link rel="stylesheet" type="text/css" href="{{site.baseurl}}/css/projects.css.css" />
<link rel="stylesheet" type="text/css" href="{{site.baseurl}}/css/buttons.css.css" />
<link rel="stylesheet" type="text/css" href="{{site.baseurl}}/css/guide.css.css" />
<link rel="stylesheet" type="text/css" href="{{site.baseurl}}/css/main.css.css" />
<link rel="stylesheet" type="text/css" href="{{site.baseurl}}/css/typography.css.css" />
<link rel="stylesheet" type="text/css" href="{{site.baseurl}}/css/icons.css.css" />
<link rel="stylesheet" type="text/css" href="{{site.baseurl}}/css/projects.css.css" />
<link rel="stylesheet" type="text/css" href="{{site.baseurl}}/css/buttons.css.css" />
<link rel="stylesheet" type="text/css" href="{{site.baseurl}}/css/guide.css.css" />
<script type="text/javascript" src="{{site.baseurl}}/js/jquery.js"></script>
<script type="text/javascript" src="{{site.baseurl}}/bootstrap/js/bootstrap.min.js"></script>
@@ -25,11 +25,13 @@
<script type="text/javascript" src="{{site.baseurl}}/js/backbone.js"></script>
<script type="text/javascript" src="{{site.baseurl}}/js/projectDocumentationWidget.js"></script>
<script type="text/javascript" src="{{site.baseurl}}/js/application.js"></script>
<script type="text/javascript" src="{{site.baseurl}}/js/guide.js"></script>
<script type="text/javascript" src="{{site.baseurl}}/js/ZeroClipboard.min.js"></script>
<script type="text/javascript">
var apiBaseUrl = "{{ site.main_site_url }}";
var projectId = "{{ site.project }}"
var projectId = "{{ site.project }}";
var siteBaseUrl = "{{ site.baseurl }}";
</script>
<script type="text/javascript" src="{{site.baseurl}}/js/copySnippets.js"></script>
<meta name="google-site-verification" content="7qGntFPD9lWAVCtUu5U77v4l68PsTHf6xpzgjQv2j2M" />
</head>
<body>
Vendored Executable
+8
View File
File diff suppressed because one or more lines are too long
BIN
View File
Binary file not shown.
+26
View File
@@ -0,0 +1,26 @@
window.Spring = window.Spring || {};
ZeroClipboard.setDefaults( { moviePath: siteBaseUrl + '/js/ZeroClipboard.swf' } );
$(document).ready(function() {
Spring.configureCopyButtons();
});
Spring.configureCopyButtons = function() {
if (ZeroClipboard.detectFlashSupport()) {
$('.highlight pre').each(function(index) {
Spring.buildCopyButton($(this), index);
}
);
}
}
Spring.buildCopyButton = function (preEl, id) {
var codeBlockId = "code-block-"+ id;
var copyButtonId = "copy-button-" + id;
preEl.attr('id', codeBlockId);
var button = $('<button class="copy-button snippet" id="' + copyButtonId + '" data-clipboard-target="' + codeBlockId + '"></button>');
preEl.before(button);
var zero = new ZeroClipboard(button);
$(zero.htmlBridge).tooltip({title: "copy to clipboard", placement: 'bottom'});
}
-42
View File
@@ -1,42 +0,0 @@
ZeroClipboard.setDefaults( { moviePath: '/js/ZeroClipboard.swf' } );
$(document).ready(function() {
if (ZeroClipboard.detectFlashSupport()) {
createCodeCopyButtons();
createCopyButton($('button.copy-button.github'));
}
$('.github-actions button').click(function() {
$('.github-actions button').removeClass('active');
$(this).addClass('active');
$('.clone-url').hide();
$('.clone-url.' + $(this).data('protocol')).show();
});
if (typeof(sts_import) === 'function') {
$(".gs-guide-import").show().click(function (e) {
var linkElement = e.target;
var url = linkElement.href;
sts_import("guide", url);
e.preventDefault();
});
}
});
function createCodeCopyButtons() {
$('article .highlight pre').each(function(index) {
var codeBlockId = "code-block-"+ index;
$(this).attr('id', codeBlockId);
var button = $('<button class="copy-button snippet" id="copy-button-"' + index + ' data-clipboard-target="' + codeBlockId + '"></button>');
$(this).before(button);
createCopyButton(button);
}
);
}
function createCopyButton($el){
var zero = new ZeroClipboard($el);
$(zero.htmlBridge).tooltip({title: "copy to clipboard", placement: 'bottom'});
}
+2
View File
@@ -100,6 +100,7 @@ Spring.SnippetView = Backbone.View.extend({
var html = $("<pre></pre>");
html.append(this.combinedTemplate(this.model));
this.$el.html(html);
Spring.buildCopyButton(html, "snippet");
return this;
},
@@ -146,6 +147,7 @@ Spring.QuickStartSelectorView = Backbone.View.extend({
snippetType: this.$('.js-active').data('snippet-type')
});
this.activeWidget.render();
},
changeDownloadSource: function (event) {