diff options
author | Meaglith Ma <genedna@gmail.com> | 2014-04-06 17:28:33 +0800 |
---|---|---|
committer | Meaglith Ma <genedna@gmail.com> | 2014-04-06 17:28:33 +0800 |
commit | 2e8d5c2eb36b63468dc78561566975c72eeaaefa (patch) | |
tree | 92659a09ec784005c8d9a0540e5197a75b0a3ea9 /public/js/app.js | |
parent | a044c24c3db4b18b20406045b40e55ce15f941a0 (diff) | |
parent | ef6b9784962d3152d3ec46833303bad72915af57 (diff) |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'public/js/app.js')
-rw-r--r-- | public/js/app.js | 45 |
1 files changed, 44 insertions, 1 deletions
diff --git a/public/js/app.js b/public/js/app.js index 5181933d..0ba0675f 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -159,6 +159,7 @@ var Gogits = { $tabs.tab("show"); $tabs.find("li:eq(0) a").tab("show"); }; + // fix dropdown inside click Gogits.initDropDown = function () { $('.dropdown-menu.no-propagation').on('click', function (e) { @@ -166,6 +167,7 @@ var Gogits = { }); }; + // render markdown Gogits.renderMarkdown = function () { var $md = $('.markdown'); @@ -192,6 +194,7 @@ var Gogits = { }); }; + // render code view Gogits.renderCodeView = function () { function selectRange($list, $select, $from) { $list.removeClass('active'); @@ -255,6 +258,43 @@ var Gogits = { }).trigger('hashchange'); }; + // copy utils + Gogits.bindCopy = function (selector) { + if ($(selector).hasClass('js-copy-bind')) { + return; + } + $(selector).zclip({ + path: "/js/ZeroClipboard.swf", + copy: function () { + var t = $(this).data("copy-val"); + var to = $($(this).data("copy-from")); + var str = ""; + if (t == "txt") { + str = to.text(); + } + if (t == 'val') { + str = to.val(); + } + if (t == 'html') { + str = to.html(); + } + return str; + }, + afterCopy: function () { + var $this = $(this); + $this.tooltip('hide') + .attr('data-original-title', 'Copied OK'); + setTimeout(function () { + $this.tooltip("show"); + }, 200); + setTimeout(function () { + $this.tooltip('hide') + .attr('data-original-title', 'Copy to Clipboard'); + }, 3000); + } + }).addClass("js-copy-bind"); + } + })(jQuery); // ajax utils @@ -343,7 +383,10 @@ function initRepository() { $clone.find('span.clone-url').text($this.data('link')); } }).eq(0).trigger("click"); - // todo copy to clipboard + $("#repo-clone").on("shown.bs.dropdown",function () { + Gogits.bindCopy("[data-init=copy]"); + }); + Gogits.bindCopy("[data-init=copy]:visible"); } })(); |