X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/dac01e1015f4d769a929651a74096e8a13592cf7..c0a5fa033d0a9bfbeab001f287969756e9e1d16d:/apps/workbench/app/assets/javascripts/components/search.js diff --git a/apps/workbench/app/assets/javascripts/components/search.js b/apps/workbench/app/assets/javascripts/components/search.js index 9a23648dc3..04572ec3cc 100644 --- a/apps/workbench/app/assets/javascripts/components/search.js +++ b/apps/workbench/app/assets/javascripts/components/search.js @@ -41,6 +41,8 @@ window.SearchResultsTable = { collections: m('i.fa.fa-fw.fa-archive'), projects: m('i.fa.fa-fw.fa-folder'), } + var db = new SessionDB() + var sessions = db.loadActive() return m('table.table.table-condensed', [ m('thead', m('tr', [ m('th'), @@ -50,18 +52,29 @@ window.SearchResultsTable = { ])), m('tbody', [ loader.items().map(function(item) { + var session = sessions[item.uuid.slice(0,5)] + var tokenParam = '' + // Add the salted token to search result links from federated + // remote hosts. + if (!session.isFromRails && session.token.indexOf('v2/') == 0) { + tokenParam = session.token + } return m('tr', [ - m('td', [ + m('td', m('form', { + action: item.workbenchBaseURL() + '/' + item.objectType.wb_path + '/' + item.uuid, + method: 'GET' + }, [ + tokenParam !== '' && + m('input[type=hidden][name=api_token]', {value: tokenParam}), item.workbenchBaseURL() && - m('a.btn.btn-xs.btn-default', { + m('button.btn.btn-xs.btn-default[type=submit]', { 'data-original-title': 'show '+item.objectType.description, 'data-placement': 'top', 'data-toggle': 'tooltip', - href: item.workbenchBaseURL()+'/'+item.objectType.wb_path+'/'+item.uuid, // Bootstrap's tooltip feature oncreate: function(vnode) { $(vnode.dom).tooltip() }, }, iconsMap[item.objectType.wb_path]), - ]), + ])), m('td.arvados-uuid', item.uuid), m('td', item.name || '(unnamed)'), m('td', m(LocalizedDateTime, {parse: item.modified_at})), @@ -90,7 +103,8 @@ window.SearchResultsTable = { window.Search = { oninit: function(vnode) { - vnode.state.sessionDB = new SessionDB(vnode.attrs.remoteHosts) + vnode.state.sessionDB = new SessionDB() + vnode.state.sessionDB.autoRedirectToHomeCluster('/search') vnode.state.searchEntered = m.stream() vnode.state.searchActive = m.stream() // When searchActive changes (e.g., when restoring state