1. Su Lab
  2. BioThings
  3. mygene.info

Commits

Cyrus Afrasiabi  committed db5a2e8

Using a new tagged version, added URL next to buttons.

Comments (0)

Files changed (3)

File docs/demo/css/mygene.css Modified

View file
  • Ignore whitespace
  • Hide word diff
 .json-panel {
     margin-bottom: 10px;
 }
+#collapse-json {
+    margin-left: 5px;
+}
+.json-panel a {
+    margin-left: 10px;
+    font-size: 0.9em;
+}
 #total-text {
     display: none;
     margin-bottom: 9px;

File docs/demo/index.html Modified

View file
  • Ignore whitespace
  • Hide word diff
     <meta name="viewport" content="width=device-width, initial-scale=1">
     <link href='https://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>
     <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/cupertino/jquery-ui.min.css">
-    <link href="https://cdn.rawgit.com/cyrus0824/mygene_front/demo_version/css/mygene.css" rel="stylesheet">
+    <link href="https://cdn.rawgit.com/cyrus0824/mygene_front/vDemo/css/mygene.css" rel="stylesheet">
     <link href="https://cdn.rawgit.com/yesmeck/jquery-jsonview/master/dist/jquery.jsonview.min.css" rel="stylesheet">
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
     <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
     <script src="https://cdn.rawgit.com/yesmeck/jquery-jsonview/master/dist/jquery.jsonview.min.js"></script>
-    <script src="https://cdn.rawgit.com/cyrus0824/mygene_front/demo_version/js/mygene_front.js"></script>
+    <script src="https://cdn.rawgit.com/cyrus0824/mygene_front/vDemo/js/mygene_front.js"></script>
 </head>
 <body>
     <div class='top-navbar'>

File docs/demo/js/mygene_front.js Modified

View file
  • Ignore whitespace
  • Hide word diff
     return str.indexOf(suffix, str.length - suffix.length) !== -1;
 }
 
-function successHandler(data, textStatus, jqXHR) {
+function successHandler(data, textStatus, jqXHR, searchURL) {
     jQuery('.introduction').hide();
     jQuery('.json-panel button').remove();
     jQuery('.json-panel').remove();
     jQuery('.json-view').remove();
-    jQuery('.results').html("<div class='json-panel'><p id='total-text'></p><button id='expand-json'>Expand</button><button id='collapse-json'>Collapse</button></div><div class='json-view'></div>").show();
+    if(searchURL) {
+        jQuery('.results').html("<div class='json-panel'><p id='total-text'></p><button id='expand-json'>Expand</button><button id='collapse-json'>Collapse</button><a href='" + searchURL + "' target='_blank'>" + searchURL + "</a></div><div class='json-view'></div>").show();
+    }
+    else { 
+        jQuery('.results').html("<div class='json-panel'><p id='total-text'></p><button id='expand-json'>Expand</button><button id='collapse-json'>Collapse</button></div><div class='json-view'></div>").show();
+    }
     jQuery('.json-panel button').button();
     jQuery('.json-view').JSONView(data); //, {collapsed: true});
     jQuery('.json-view').JSONView('expand');
         if(!(fieldsText)) {fieldsText = 'all';}
         if(endsWith(fieldsText, ', ')) {fieldsText = fieldsText.substring(0, fieldsText.length - 2);}
         if(endsWith(fieldsText, ',')) {fieldsText = fieldsText.substring(0, fieldsText.length - 1);}
+        var searchURL = '';
         if(searchType == 1) {
             // HGVS ID query
             errorHandler("Query executing . . .", "executing");
             if(queryText.indexOf(",") == -1) {
                 // get to gene endpoint
-                jQuery.get(endpointBase + '/gene/' + encodeURIComponent(queryText) + '?fields=' + encodeURIComponent(fieldsText)).done(successHandler).fail(function(jqXHR, statusText, errorThrown) {errorHandler("Couldn't retrieve annotation " + jQuery('#main-input').val() + ".  ", "error");});
+                searchURL = endpointBase + '/gene/' + encodeURIComponent(queryText) + '?fields=' + encodeURIComponent(fieldsText);
+                jQuery.get(searchURL).done(function(data, textStatus, jqXHR) {successHandler(data, textStatus, jqXHR, searchURL);}).fail(function(jqXHR, statusText, errorThrown) {errorHandler("Couldn't retrieve annotation " + jQuery('#main-input').val() + ".  ", "error");});
             }
             else {
                 // post to gene endpoint
-                jQuery.post(endpointBase + '/gene', {'ids': queryText, 'fields': fieldsText}).done(successHandler).fail(function(jqXHR, statusText, errorThrown) {errorHandler("Error retrieving annotations.", "error");});
+                jQuery.post(endpointBase + '/gene', {'ids': queryText, 'fields': fieldsText}).done(function(data, textStatus, jqXHR) {successHandler(data, textStatus, jqXHR, searchURL);}).fail(function(jqXHR, statusText, errorThrown) {errorHandler("Error retrieving annotations.", "error");});
             }
         }
         else if(searchType == 2) {
             var querySize = jQuery('#size-input').val();
             // Full text query
             errorHandler("Query executing . . .", "executing");
-            jQuery.get(endpointBase + '/query?q=' + encodeURIComponent(queryText) + '&fields=' + encodeURIComponent(fieldsText) + '&size=' + querySize).done(successHandler).fail(function(jqXHR, statusText, errorThrown) {errorHandler("Couldn't retrieve results for query " + jQuery('#main-input').val() + ".", "error");});
+            searchURL = endpointBase + '/query?q=' + encodeURIComponent(queryText) + '&fields=' + encodeURIComponent(fieldsText) + '&size=' + querySize;
+            jQuery.get(searchURL).done(function(data, textStatus, jqXHR) {successHandler(data, textStatus, jqXHR, searchURL);}).fail(function(jqXHR, statusText, errorThrown) {errorHandler("Couldn't retrieve results for query " + jQuery('#main-input').val() + ".", "error");});
         }
         else if(searchType == 3) {
             // metadata query
             errorHandler("Query executing . . .", "executing");
-            jQuery.get(endpointBase + '/metadata').done(successHandler).fail(function(jqXHR, statusText, errorThrown) {errorHandler("Couldn't retrieve MyGene database metadata.  API error.", "error");});
+            searchURL = endpointBase + '/metadata';
+            jQuery.get(searchURL).done(function(data, textStatus, jqXHR) {successHandler(data, textStatus, jqXHR, searchURL);}).fail(function(jqXHR, statusText, errorThrown) {errorHandler("Couldn't retrieve MyGene database metadata.  API error.", "error");});
         }
         else if(searchType == 4) {
             // available fields query
             errorHandler("Query executing . . .", "executing");
-            jQuery.get(endpointBase + '/metadata/fields').done(successHandler).fail(function(jqXHR, statusText, errorThrown) {errorHandler("Couldn't retrieve available fields.  API error.", "error");});
+            searchURL = endpointBase + '/metadata/fields';
+            jQuery.get(searchURL).done(function(data, textStatus, jqXHR) {successHandler(data, textStatus, jqXHR, searchURL);}).fail(function(jqXHR, statusText, errorThrown) {errorHandler("Couldn't retrieve available fields.  API error.", "error");});
         }
     });
     // Select menu is a widget