diff --git a/client/client/app/components/ngbGenesTablePanel/ngbGenesTable/ngbGenesTableContextMenu/ngbGenesTableContextMenu.controller.js b/client/client/app/components/ngbGenesTablePanel/ngbGenesTable/ngbGenesTableContextMenu/ngbGenesTableContextMenu.controller.js index 3872fe001..f5b4d7ed2 100644 --- a/client/client/app/components/ngbGenesTablePanel/ngbGenesTable/ngbGenesTableContextMenu/ngbGenesTableContextMenu.controller.js +++ b/client/client/app/components/ngbGenesTablePanel/ngbGenesTable/ngbGenesTableContextMenu/ngbGenesTableContextMenu.controller.js @@ -126,7 +126,9 @@ export default class NgbGenesTableContextMenuController extends BaseController { layoutChange.displayed = true; this.dispatcher.emitSimpleEvent('layout:item:change', {layoutChange}); const readInfo = { - search: this.entity[`${this.ngbGenesTableService.defaultPrefix}featureName`] + search: this.entity[`${this.ngbGenesTableService.defaultPrefix}featureName`], + speciesList: [], + rewriteSpecies: true }; const data = { ...readInfo, diff --git a/client/client/app/components/ngbPathways/ngbInternalPathwaysTable/ngbInternalPathwaysTable.service.js b/client/client/app/components/ngbPathways/ngbInternalPathwaysTable/ngbInternalPathwaysTable.service.js index 8eb0bcf7c..42931de6b 100644 --- a/client/client/app/components/ngbPathways/ngbInternalPathwaysTable/ngbInternalPathwaysTable.service.js +++ b/client/client/app/components/ngbPathways/ngbInternalPathwaysTable/ngbInternalPathwaysTable.service.js @@ -33,6 +33,7 @@ export default class ngbInternalPathwaysTableService extends ClientPaginationSer this.genomeDataService = genomeDataService; this.loadSpeciesList(); } + _internalPathways; get internalPathways() { @@ -113,13 +114,18 @@ export default class ngbInternalPathwaysTableService extends ClientPaginationSer } async loadInternalPathways(currentSearch) { + if (currentSearch.rewriteSpecies) { + this.internalPathwaysFilter.organisms = currentSearch.speciesList; + currentSearch.speciesList = []; + currentSearch.rewriteSpecies = false; + } const filter = { pagingInfo: { pageSize: this.pageSize, pageNum: this.currentPage }, sortInfo: this.orderBy ? this.orderBy[0] : null, - term: currentSearch || '', + term: currentSearch.search || '', taxIds: this.internalPathwaysFilter.organisms || [] }; diff --git a/client/client/app/components/ngbPathways/ngbInternalPathwaysTable/ngbInternalPathwaysTableFilter/ngbInternalPathwaysFilterList/ngbInternalPathwaysFilterList.controller.js b/client/client/app/components/ngbPathways/ngbInternalPathwaysTable/ngbInternalPathwaysTableFilter/ngbInternalPathwaysFilterList/ngbInternalPathwaysFilterList.controller.js index 68d474063..a5d8469bf 100644 --- a/client/client/app/components/ngbPathways/ngbInternalPathwaysTable/ngbInternalPathwaysTableFilter/ngbInternalPathwaysFilterList/ngbInternalPathwaysFilterList.controller.js +++ b/client/client/app/components/ngbPathways/ngbInternalPathwaysTable/ngbInternalPathwaysTableFilter/ngbInternalPathwaysFilterList/ngbInternalPathwaysFilterList.controller.js @@ -27,7 +27,7 @@ export default class ngbInternalPathwaysFilterListController { if (this.ngbInternalPathwaysTableService.internalPathwaysFilter.organisms) { this.selectedItems = this.ngbInternalPathwaysTableService.speciesList .filter(organism => this.ngbInternalPathwaysTableService.internalPathwaysFilter.organisms.indexOf(organism.taxId) >= 0) - .map(organism => organism.speciesName); + .map(organism => organism.taxId); this.displayText = [...this.selectedItems].join(', '); } break; @@ -146,10 +146,7 @@ export default class ngbInternalPathwaysFilterListController { prevValue.sort(); const prevValueStr = JSON.stringify(prevValue).toUpperCase(); const currValue = this.ngbInternalPathwaysTableService.speciesList - .filter(organism => organism.speciesName - ? selectedItemsLowerCase.indexOf(organism.speciesName.toLowerCase()) >= 0 - : selectedItemsLowerCase.indexOf(organism.taxId.toString()) >= 0 - ) + .filter(organism => selectedItemsLowerCase.indexOf(organism.taxId.toString()) >= 0) .map(organism => organism.taxId); currValue.sort(); const currValueStr = JSON.stringify(currValue).toUpperCase(); diff --git a/client/client/app/components/ngbPathways/ngbPathways.service.js b/client/client/app/components/ngbPathways/ngbPathways.service.js index 1ff91be25..15a4dc889 100644 --- a/client/client/app/components/ngbPathways/ngbPathways.service.js +++ b/client/client/app/components/ngbPathways/ngbPathways.service.js @@ -82,7 +82,7 @@ export default class ngbPathwaysService { initEvents() { this.dispatcher.on('read:show:pathways', data => { - this.currentSearch = data ? data.search : null; + this.currentSearch = data || null; }); } diff --git a/client/client/app/components/ngbPathways/ngbPathwaysPanel.controller.js b/client/client/app/components/ngbPathways/ngbPathwaysPanel.controller.js index 97f56637c..d46ee6fe0 100644 --- a/client/client/app/components/ngbPathways/ngbPathwaysPanel.controller.js +++ b/client/client/app/components/ngbPathways/ngbPathwaysPanel.controller.js @@ -48,7 +48,11 @@ export default class ngbPathwaysPanelController extends baseController { } searchPathway() { - this.ngbPathwaysService.currentSearch = this.searchRequest; + this.ngbPathwaysService.currentSearch = { + search: this.searchRequest, + speciesList: [], + rewriteSpecies: true + }; this.dispatcher.emitSimpleEvent('pathways:internalPathways:search'); this.changeState('INTERNAL_PATHWAYS'); } diff --git a/client/client/app/components/ngbTracksView/ngbTrack/ngbTrack.events.js b/client/client/app/components/ngbTracksView/ngbTrack/ngbTrack.events.js index fd7bf4eed..f3d80b3f2 100644 --- a/client/client/app/components/ngbTracksView/ngbTrack/ngbTrack.events.js +++ b/client/client/app/components/ngbTracksView/ngbTrack/ngbTrack.events.js @@ -220,6 +220,10 @@ export default class ngbTrackEvents { if (data.feature.feature && data.feature.name) { const layoutChange = this.appLayout.Panels.pathways; layoutChange.displayed = true; + const [reference] = this.projectContext.references.filter(ref => ref.id === track.referenceId); + const speciesList = reference && reference.species + ? [reference.species.taxId] + : null; menuData.push({ events: [ { @@ -228,7 +232,9 @@ export default class ngbTrackEvents { }, { data: { - search: data.feature.name + speciesList, + search: data.feature.name, + rewriteSpecies: true }, name: 'read:show:pathways' }],