X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/b7cd87b8bfccf98faa76d336f359c0f964777901..90a8c9cd85b9974946682930974500614af858aa:/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 319622ddbd..2fe73193e7 100644 --- a/apps/workbench/app/assets/javascripts/components/search.js +++ b/apps/workbench/app/assets/javascripts/components/search.js @@ -29,10 +29,6 @@ window.SearchResultsTable = { }, onupdate: function(vnode) { vnode.state.loader = vnode.attrs.loader - // This activates bootstrap tooltip feature - $(function () { - $('[data-toggle="tooltip"]').tooltip() - }) }, onremove: function(vnode) { window.clearInterval(vnode.state.timer) @@ -42,8 +38,8 @@ window.SearchResultsTable = { view: function(vnode) { var loader = vnode.attrs.loader var iconsMap = { - C: m('i.fa.fa-fw.fa-archive'), - P: m('i.fa.fa-fw.fa-folder'), + collections: m('i.fa.fa-fw.fa-archive'), + projects: m('i.fa.fa-fw.fa-folder'), } return m('table.table.table-condensed', [ m('thead', m('tr', [ @@ -62,7 +58,9 @@ window.SearchResultsTable = { 'data-placement': 'top', 'data-toggle': 'tooltip', href: item.workbenchBaseURL()+'/'+item.objectType.wb_path+'/'+item.uuid, - }, iconsMap[item.objectType.label]), + // 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)'), @@ -110,37 +108,31 @@ window.Search = { } var searchable_objects = [ { - wb_path: 'groups', + wb_path: 'projects', api_path: 'arvados/v1/groups', filters: [['group_class', '=', 'project']], - label: 'P', description: 'project', }, { wb_path: 'collections', api_path: 'arvados/v1/collections', filters: [], - label: 'C', description: 'collection', }, ] return new MergingLoader({ sessionKey: key, // For every session, search for every object type - children: searchable_objects.map(function(obj_type){ + children: searchable_objects.map(function(obj_type) { return new MultipageLoader({ sessionKey: key, - objectKind: obj_type.label, loadFunc: function(filters) { + // Apply additional type dependant filters + filters = filters.concat(obj_type.filters) var tsquery = to_tsquery(q) if (tsquery) { - filters = filters.slice(0) filters.push(['any', '@@', tsquery]) } - // Apply additional type dependant filters, if any. - for (var f of obj_type.filters) { - filters.push(f) - } return vnode.state.sessionDB.request(session, obj_type.api_path, { data: { filters: JSON.stringify(filters), @@ -155,9 +147,9 @@ window.Search = { }) }, }) - }) + }), }) - }) + }), }) }) },