private getSelectedFilters()

in clns-acuity-vahub/vahub/src/main/webapp/src/app/filters/FiltersExportService.ts [77:143]


    private getSelectedFilters(filtersModel: AbstractFiltersModel): any {
        return filtersModel.itemsModels.map((filter: any) => {
            if (filter.filterIsVisible) {
                let value, selectedValues = null;
                switch (filter.type) {
                    case FILTER_TYPE.LIST:
                    case FILTER_TYPE.CHECK_LIST:
                    case FILTER_TYPE.TOGGLE_LIST:
                    case FILTER_TYPE.UNSELECTED_CHECK_LIST:
                        value = this.transformListFilter(filter);
                        break;
                    case FILTER_TYPE.RANGE:
                        value = this.transformRangeFilter(filter);
                        break;
                    case FILTER_TYPE.RANGE_DATE:
                        value = this.transformRangeDateFilter(filter);
                        break;
                    case FILTER_TYPE.STUDY_SPECIFIC_FILTERS:
                        value = filter.filters.map((studySpecFilter: StudySpecificFilter) => {
                            selectedValues = studySpecFilter.appliedSelectedValues.slice(0);
                            const indexOfNull = selectedValues.indexOf(null);
                            if (indexOfNull !== -1) {
                                selectedValues[indexOfNull] = EMPTY;
                            }
                            value = studySpecFilter.name + ': ' + (studySpecFilter.appliedSelectedValues.length > 0
                            && studySpecFilter.appliedSelectedValues.length !== studySpecFilter.initialValues.length
                                ? selectedValues.join(', ')
                                : '<no filter set>');
                            return value;
                        });
                        value = filter.displayName + ':' + (value.length > 0 ? '\r\n\t\t' + value.join('\r\n\t\t') : '<no filter set>');
                        break;
                    case FILTER_TYPE.MAP_LIST:
                    case FILTER_TYPE.MAP_CHECK_LIST:
                        if (!filter.filters.length) {
                            break;
                        }
                        value = map(filter.filters, this.transformListFilter.bind(this));
                        value = filter.displayName + ':' + (value.length > 0 ? '\r\n\t\t' + value.join('\r\n\t\t') : '<no filter set>');
                        break;
                    case FILTER_TYPE.MAP_RANGE:
                        if (!filter.filters.length) {
                            break;
                        }
                        value = map(filter.filters, this.transformRangeFilter.bind(this));
                        value = filter.displayName + ':' + (value.length > 0 ? '\r\n\t\t' + value.join('\r\n\t\t') : '<no filter set>');
                        break;
                    case FILTER_TYPE.MAP_RANGE_DATE:
                        if (!filter.filters.length) {
                            break;
                        }
                        value = map(filter.filters, this.transformRangeDateFilter.bind(this));
                        value = filter.displayName + ':' + (value.length > 0 ? '\r\n\t\t' + value.join('\r\n\t\t') : '<no filter set>');
                        break;
                    case FILTER_TYPE.COHORT_EDITOR:
                        value = filter.displayName + ': ' + (filter.selectedValues.length ? filter.selectedValues.join(', ') : '<no filter set>');
                        break;
                    default:
                        value = filter.displayName + ': <no filter set>';
                        break;
                }
                return value;
            } else {
                return '';
            }
        });
    }