getRequest()

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;
    }