From bdb4f91a6c795c5649568a13abdabc8ca407bac8 Mon Sep 17 00:00:00 2001 From: Carolyn Caron Date: Wed, 17 Apr 2024 17:13:30 -0600 Subject: [PATCH] Successfully had a JBrowse2 appear using a URL pointing to a config.json --- js/createJBrowseLinearGenomeView.js | 38 +++++++++++++++++------------ tripal_jbrowse.libraries.yml | 2 +- tripal_jbrowse.module | 3 +++ 3 files changed, 27 insertions(+), 16 deletions(-) diff --git a/js/createJBrowseLinearGenomeView.js b/js/createJBrowseLinearGenomeView.js index 8a87380..0f0619e 100644 --- a/js/createJBrowseLinearGenomeView.js +++ b/js/createJBrowseLinearGenomeView.js @@ -12,21 +12,29 @@ Drupal.behaviors.embedJBrowse = { once('embedJBrowse', '#jbrowse_linear_genome_view', context).forEach( function (element) { console.log(drupalSettings.jbrowseUrl); -// import assembly from '/assembly.js' -// import tracks from '/tracks.js' - // const { createViewState, JBrowseLinearGenomeView } = - // JBrowseReactLinearGenomeView - // const { createElement } = React - // const { render } = ReactDOM - // const state = new createViewState({ - // assembly, - // tracks, - // location: '1:100,987,269..100,987,368', - // }) - // render( - // createElement(JBrowseLinearGenomeView, { viewState: state }), - // document.getElementById('jbrowse_linear_genome_view'), - // ) + console.log((new Date()).toLocaleString()); + Drupal.ajax({ + headers: { "Content-Type": "application/json" }, + url: drupalSettings.jbrowseUrl, + method: "GET", + success: function (data, status, xhr) { + console.log("Inside success!"); + console.log(data); + const { createViewState, JBrowseLinearGenomeView } = + JBrowseReactLinearGenomeView + const { createElement } = React + const { render } = ReactDOM + const state = new createViewState({ + assembly: data['assemblies'][0], + tracks: data['tracks'], + location: '1:100,987,269..100,987,368', + }) + render( + createElement(JBrowseLinearGenomeView, { viewState: state }), + document.getElementById('jbrowse_linear_genome_view'), + ) + } + }).execute(); } ); } diff --git a/tripal_jbrowse.libraries.yml b/tripal_jbrowse.libraries.yml index fc75f45..e43154d 100644 --- a/tripal_jbrowse.libraries.yml +++ b/tripal_jbrowse.libraries.yml @@ -2,7 +2,7 @@ react: version: latest js: https://unpkg.com/react@16/umd/react.development.js: { type: external, minified: true } - https://unpkg.com/react-dom@16/umd/react-dom.development.js: { type: external, minified: true } + https://unpkg.com/react-dom@16.14.0/umd/react-dom.development.js: { type: external, minified: true } jbrowse: version: latest diff --git a/tripal_jbrowse.module b/tripal_jbrowse.module index e9d36ce..aaeed52 100644 --- a/tripal_jbrowse.module +++ b/tripal_jbrowse.module @@ -46,6 +46,9 @@ function template_preprocess_jbrowse_instance(array &$variables) { $instance = $variables['elements']['#jbrowse_instance']; $url = $instance->get('jbrowse_url')->getValue(); $variables['#attached']['drupalSettings']['jbrowseUrl'] = $url[0]['value']; + + // Add our URL as an ajax trusted URL + $variables['#attached']['drupalSettings']['ajaxTrustedUrl'][$url[0]['value']] = TRUE; } /**