in client/client/app/components/ngbTargetPanel/ngbIdentificationsTab/ngbKnownDrugsPanel/ngbDrugsTable/ngbDrugsTable.service.js [310:370]
getRequest() {
const request = {
page: this.currentPage,
pageSize: this.pageSize,
geneIds: this.geneIds,
};
if (this.sourceModel.name === this.sourceOptions.TTD.name) {
if (this._filterInfo && this._filterInfo.target && this._filterInfo.target.length) {
const geneIds = this._filterInfo.target
.map(t => {
const chip = this.ngbTargetPanelService.getGeneIdByChip(t);
return chip ? chip : '';
})
.filter(v => v);
if (geneIds && geneIds.length) {
request.geneIds = geneIds;
}
}
}
if (this.targetId) {
request.targetId = this.targetId;
}
if (this.sortInfo && this.sortInfo.length) {
request.orderInfos = this.sortInfo.map(i => ({
orderBy: this.fields[this.sourceModel.name][i.field],
reverse: !i.ascending
}))
}
if (this._filterInfo) {
const filters = Object.entries(this._filterInfo)
.filter(([key, values]) => {
if (this.sourceModel.name === this.sourceOptions.TTD.name) {
if (key === 'target') {
return;
}
}
if (!this.fields[this.sourceModel.name][key]) return;
return values.length
})
.map(([key, values]) => ({
field: this.fields[this.sourceModel.name][key],
terms: values.map(v => {
if (key === 'phase') {
return v || '';
}
if (key === 'target') {
const chip = this.ngbTargetPanelService.getGeneIdByChip(v);
return chip ? chip : '';
}
if (v === 'Empty value') {
return '';
}
return v;
})
}));
if (filters && filters.length) {
request.filters = filters;
}
}
return request;
}