Search Filters fix:
- make them work for static filters (e.g datasource pages)
- make it work when new filter is substring of selected filter (e.g 'Registry' & 'Registry of repositories')
- make it work with and without quotes
SEO:
- datasource landing add description in meta tags
- result landing make h2 the title in other versions (only one H1 per page)
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@59820 d315682c-612b-4755-9ff5-7f18f6832af3
code clean up:
-remove app.* files from library
-remove unused imports, code, files (Old search pages for results, dataproviders, map search page, etc)
-remove Freeguard from modules
-unsubscribe all subscriptions
-Services: configuration, isvocabularies, user management: unsubscribe from app component or the component that uses them (clearSubscriptions())
-Fetchers: unsubscribe from the component that uses them (clearSubscriptions())
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@59816 d315682c-612b-4755-9ff5-7f18f6832af3
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
Search Pages:
- change showAdvancedSearchLink to showSwitchSearchLink and used it to chech for both simple and advanced link
- add showBreadcrump choice for search projects, content provider and organization components
- customFilter: add promptToAddFilter: boolean in order to display prompt about adding or removing custom filter
- entities selection: if advanced search use the advanced search routes, disable selection for advanced pages of connect - community portal
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@59265 d315682c-612b-4755-9ff5-7f18f6832af3
1. cache-interceptor.service.ts: Added query for refine projects with hidden filters as cachable (to be removed when bug with hidden filters is solved).
2. searchResearchResults.component.ts & searchProjects.component.ts & searchDataProviders.component.ts & searchOrganizations.component.ts:
a. [Bug fix - r59155] Update checks for refine query - Do not call refine query when page, results per page, sortBy change.
b. Set refineStatus to DONE when no refine query.
c. Set new field "searchPage.hideFilters" to false when results return - used only for 1st load (do not show filters, until results return).
3. newSearchPage.component:
a. Show "Filters" label always.
b. Check if there are filters with method "get existingFiltersWithValues()" instead of "filters.length" (cases where filters > 0, but values = 0).
c. Show filters column when "!hideFilters" and there are filters (refine or selected) or when there are results.
d. Add in url parameters for "page" and "resultsPerPageChanged" even when they are set to default value (need to separate navigation via menu with no params).
4. searchFilter.component.html: Add "<ng-template #input_label>" for checkboxes and radio buttons in filters (used also in view all part).
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@59163 d315682c-612b-4755-9ff5-7f18f6832af3
1. searchUtils.class.ts: In SearchUtilsClass added field "refineStatus:number = 1;" for refine queries.
2. searchResultsPerPage.component.ts & searchSorting.component.ts: [Bug fix] In EventEmitter (value change), emit raw value, not object with field "value".
3. searchDataProviders.component.ts & searchOrganizations.component.ts & searchProjects.component.ts & searchResearchResults.component.ts:
a. Add subscriptions in array to unsubscribe in ngOnDestroy.
b. Get properties from environment (no service needed).
c. Separate queries for refine and results.
d. Do not call refine query when page, results per page, sortBy change (there is still a bug here).
e. For refine query, added field "disableRefineForms" default set to false - passed in <new-search-page>.
4. newSearchPage.component.html:
a. Disable forms when "disableForms" or "disableRefineForms" is true.
b. Do not show filters, until results query returns, but show results while refine is loading.
c. Deleted old, unused code.
5. newSearchPage.component.ts:
a. Added fields "@Input() disableRefineForms: boolean = false;", "@Input() sortedByChanged: string = "";", "@Input() resultsPerPageChanged: number;"
b. When results per page or sortBy change, do not upadate immediately searchUtils values - do not query for refine when these change (there is still a bug here).
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@59155 d315682c-612b-4755-9ff5-7f18f6832af3
JSONLD:
-Home page:
-Add description in Website with search action
-In every search page add description based on the filters
-In (project, content provider, organization) landing add description if available otherwise use the title
-In project add id in funder entity
Autocomplete: create event emitter to update entity or refine result label (used in jsonld)
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@59152 d315682c-612b-4755-9ff5-7f18f6832af3
1. newSearchPage.component.html: Do not show "Filters" label when no results and no selected filters | [Bug fix] Check "filter.values" not "filter.values.lenght" - change detection error.
2. searchFilter.component.ts: [Bug fix] Set filter.radioValue also in ngOnChanges - filter value did not seem selected even if it was.
3. searchPageTableView.component.html: Show "Filters" label when there are filters (not only selected filters).
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@59136 d315682c-612b-4755-9ff5-7f18f6832af3
1. advancedSearchForm.component.html & searchPaging.component.ts & pagingFormatter.component.ts
& searchResultsPerPage.component.ts & searchSorting.component.ts & searchFilter.component.html & rangeFilter.component.html:
Update/ impove "disabled" view (when results/ filters are loading).
2. searchFilter.component.html: [Bug fix] When selecting a radio button, all values of filter seemed to be selected --> name is value.id not filter.filterId.
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@59115 d315682c-612b-4755-9ff5-7f18f6832af3
1. configuration.service.ts: Use "useLongCache" property for communityFull | Add BehaviorSubject for communityFull | Add filtering methods to check if route is enabled from communityFull info.
2. isRouteEnabled.guard.ts: Get properties from environment (no service needed) | Foreach route do not query API but check if enabled by communityFull info (BehaviorSubject).
3. search.component.ts & searchAll.component.ts & entitiesSelection.component.ts & quick-selections.component.ts & navigationBar.component.ts & bottom.component.ts:
Get communityFull info from state (call configurationService.communityInformationState) | Add subscriptions in array to unsubscribe in ngOnDestroy.
quick-selections.component.ts: Add "uk-disabled" class when needed in <form> elements.
4. resultLanding.module.ts & navigationBar.module.ts & bottom.module.ts & entitiesSelection.module.ts & quick-selections.module.ts:
Remove ConfigurationService from providers (singleton service, providedIn: 'root').
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@59074 d315682c-612b-4755-9ff5-7f18f6832af3