浏览代码

Copy link to clipboard function

bvj 4 年之前
父节点
当前提交
e2e6bf9f0a
共有 2 个文件被更改,包括 15 次插入3 次删除
  1. 11 3
      main.js
  2. 4 0
      search_panel.css

+ 11 - 3
main.js

@@ -23,7 +23,7 @@ define([
         //'proxy_url': 'https://cors-anywhere.herokuapp.com/'
         'proxy_url': ''
     };
-
+    //read user configuration
     var read_config = function () {
         var config = IPython.notebook.config;
         for (var key in cfg) {
@@ -31,7 +31,15 @@ define([
                 cfg[key] = config.data.mickaSearch[key];
         }
     };
-	
+	//copy text to clipboard
+    cc = function (text) {
+        navigator.clipboard.writeText(text).then(function() {
+            /* clipboard successfully set */
+        }, function() {
+            /* clipboard write failed */
+            console.log(log_prefix + 'clipboard write failed');
+        });
+    };
 	// get metadata
     var fetch_metatada = function (search_params) {
         return fetch(`${cfg.proxy_url}${cfg.micka_url}csw/${search_params}`, {credentials: 'same-origin'});
@@ -80,7 +88,7 @@ define([
             output += entry.imgURL ? `<details><summary>Thumbnail</summary><img src="${entry.imgURL}" width="200" onerror="this.parentElement.style.display='none'"></details>` : '';
             var links = '';
             entry.links.forEach(function(link) {
-                links += `<li>${link.url}</li>`;
+                links += `<li>${link.url} <a class="mlink" onclick="cc('${link.url}');" title="Copy to clipboard"><strong>C</strong></a></li>`;
             });
             output += links.length > 0 ? `<details><summary>Links</summary><ul>${links}</ul></details>` : '';
             output += '</p>';

+ 4 - 0
search_panel.css

@@ -19,6 +19,10 @@ summary {
 	cursor: pointer;
 }
 
+.mlink {
+	cursor: pointer;
+}
+
 @media print {
 	/* print-previews can't handle 100%-height element as main part of page */
 	#side_panel {