1. refineResults.class.ts:
a. Updated method "includeValue()" and include "null" (as a string) check | Call method "includeValue()" when creating filters.
b. Set filter.countUnfilteredValues to the length of values returned by the service before filtering them out.
c. Check if filters returned by service before trying to parse anything.
2. searchHelperClasses.class.ts: Added in Filter structure the field "public countUnfilteredValues?: number = 0;", to check if there are more values to be queried (show "view all" link or not).
3. searchFilter.component.ts: Updated check of hasMoreValues to show or not the "view all" link - check filter.countUnfilteredValues | Comment filtering out of filter values - moved to refineResults.class.ts.
1. contexts.service.ts: Add BehaviorSubject for getting communities (with status) only once (providedIn: 'root') - used by searchResearchResults.component.ts & claimContextSearchForm.component.ts.
2. claimContextSearchForm.component.ts & claimContextSearchForm.module.ts: Use 'getPublicCommunitiesByState()' instead of 'getPublicCommunities()' (contexts.service.ts) | Do not import in module (singlet$
3. refineResults.class.ts: In 'includeValue()' add checks if name is empty or undefined (do not include filter value in that case).
4. searchResearchResults.component.ts: For 'community' filter, add query for getting communities with public status and filtering values accordingly (timeout 300ms after filters request is over).
5. searchResearchResults.component.ts: & searchDataProviders.component.ts & searchOrganizations.component.ts & searchProjects.component.ts:
Add methods "filtersReturned()" and "resultsReturned()" - when refine or search query returns with no results or page is out of bounds, stop the other query and initialize statuses and values
(stop loading when we know there are no results).
6. newSearchPage.component.html: Improve some checks to better display filters and results (out of bounds message, loading for filters, etc..).
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@59648 d315682c-612b-4755-9ff5-7f18f6832af3
1. utils/rangeFilter/: range filters added to describe year range queries (currently used in types: result & project).
2. utils/properties/searchFields.ts:
'uniqueValue: boolean' changed to 'filterType: string' with value among: null (if this is not a range/refine filter), radio, checkbox, range.
RANGE_FIELDS added for each type needed.
'fieldHasUniqueValue()' method renamed to 'getFieldFilterType()' method.
'getFieldParam()' method added.
3. utils/properties/searchFields.ts & services/servicesUtils/refineResults.class.ts & searchPages/searchUtils/searchHelperClasses.class.ts
& searchPages/dataProviders/ & searchPages/searchDataProviders.component.ts & searchPages/searchOrganizations.component.ts: 'filterType' field is used.
4. searchPages/searchProjects.component.ts & searchPages/searchResearchResults.component.ts: Initialize and use in calculations range filters.
5. searchPages/searchUtils/searchFilter.component: Update filters to match redesign & use them everywhere (not special case if search or deposit).
6. searchPages/searchUtils/newSearchPage.component: Update filters to match redesign and add range filters.
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@58105 d315682c-612b-4755-9ff5-7f18f6832af3
1. searchFields.ts: Method 'getFieldOperator()' added, to return operator (and/or) for a given 'fieldId'.
2. refineResults.class.ts: Use 'getFieldOperator()' method of 'searchFields.ts' to fill value of 'filter.filterOperator'.
3. searchPage.component.ts: Use 'getFieldOperator()' method of 'searchFields.ts' to get operator (and/or) for a given 'fieldId' and use this operator in the search query.
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@57048 d315682c-612b-4755-9ff5-7f18f6832af3
1. compatibleDataProviders.component & compatibleDataProvidersTable.component & entityRegistries.component & entityRegistriesTable.component & journals.component & journalsTable.component:
Add 'valueIsUnique' field in 'Filter'.
2. searchFilter.component: Add case when filter has unique value (radio button) | Show more values either in modal or inline (new mocks for connect)
3. searchHelperClasses.class: Add 'valueIsUnique' field.
4. searchPage.component:
Add title in Filters & show download-map-table options above selected filters
Keyword query in specific fields (defined in properties/searchFields) when used by new deposit pages
5. searchDataproviders.service: Add method 'searchDataprovidersForDepositSearch()'
6. refineResults.class: Fill "valueIsUnique" field of filter.
7. properties/searchFields: Add 'uniqueValue: boolean' (default false) field in 'FieldDetails' class and 'fieldHasUniqueValue()' function which checks 'fieldType' and 'usedBy'.
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@56562 d315682c-612b-4755-9ff5-7f18f6832af3