1. searchResearchResults.service.ts & searchProjects.service.ts & searchOrganizations.service.ts & searchDataproviders.service.ts: In advanced search method added parameter minRef: boolean = false and if true, add in request url "&minRef=true" to query for top 7 values.
2. searchResearchResults.component.ts & searchProjects.component.ts & searchOrganizations.component.ts & searchDataProviders.component.ts: By default query filters with minRef=true | Added method "filterRequestedAll()" to be called on view all click of a filter.
3. searchHelperClasses.class.ts: Added in Filter public countAllValues?: number = -1; (-1: all filters not yet requested, 0: request failed) and public isOpen?: boolean = false; (checks if view all filter is clicked).
4. searchFilter.module.ts: Imported LoadingModule.
5. searchFilter.component.ts & searchFilter.component.html: Updated process on view all click.
6. newSearchPage.component.ts: Added method "filterToggled()".
7. newSearchPage.component.html: Bind filterToggled method to <search-filter> output.
1. searchFields.base.ts: Added RESULT_STATIC_FIELDS/ DATASOURCE_STATIC_FIELDS and RESULT_STATIC_FIELD_VALUES/ DATASOURCE_STATIC_FIELD_VALUE and updated in RESULT_FIELDS type to static for resultbestaccessright, and added type and in DATASOURCE_FIELDS added eosctype.
2. staticAutoComplete.component.ts: Added @Input() public fieldValues; and added check not to query for values when static (fieldValues exists).
3. searchResearchResults.component.ts & searchProjects.component.ts & searchOrganizations.component.ts & searchDataProviders.component.ts: Added parameters for static fields in <new-search-page> and initialized them properly.
4. advancedSearchForm.component.html: Added parameter fieldValues to <static-autocomplete>.
5. advancedSearchForm.component.ts: Added method "public getFieldValuesForId(id: string)".
6. newSearchPage.component.html: Added parameter fieldValues to <advanced-search-form> and show static filters view case.
7. newSearchPage.component.ts: Added static filters - initialize them properly and make code for static filters more dynamic.
1. general.less: Added fixed position for .filters-toggle-button.
2. newSearchPage.component.html: Added floating button for filters in mobile screens.
3. advancedSearchForm.component.html: Re-introduced commented out <entities-selection> inside <advanced-search-input> | Removed iconPosition and commented button for filters inside search form.
4. home.module.ts: Imported SearchInputModule.
5. home.component.html: Replaced <advanced-search-input> with <div search-input>
6. searchDataProviders.component.ts: Set entitiesSelection to false for <new-search-page>
7. newSearchPage.component.ts & searchAll.component.html: Set entitiesSelection to false for <advanced-search-form>
1. projects-in-modal.component.ts: Added the missing number of selected values next to the filter name - on updateFilters() method, update filter.countSelectedValues.
2. searchFields.ts:
a. Added pid in DATASOURCE_ADVANCED_FIELDS.
b. Added method "sortFieldsByName()" to sort fields by name and leave "q" filter (Any field) first.
3. searchAll.component.ts & searchDataProviders.component.ts & searchResearchResults.component.ts & searchProjects.component.ts & searchOrganizations.component.ts: Added "this.searchFields.sortFieldsByName(this.fieldIds, this.fieldIdsMap);" to sort advanced fields alphabetically.
1. result-preview.component.ts & datasourcesHelper.class.ts & entitiesSelection.component.ts & newSearchPage.component.ts & errorPage.component.ts & searchAll.component.ts: Added case for service entity.
2. searchFields.ts: Added in OpenaireEntities names for Services | In methods "getFieldName()" and "getFieldParam()" case for service entity.
3. searchDataProviders.component.ts: Parametrize component to show/query for datasources or services.
4. quick-selections.component.ts: Delete reset of resultTypes from "initializeFilters()" method.
5. searchDataproviders.service.ts: In method "numOfSearchDataproviders2()" added parameter "typePathParam" to search for datasources or services | In method "parseResults()" set "entityType" according to eosctype field.
6. portal.ts: In method "getmockPortalInfo()" added entity and routes for service.
7. env-properties.ts: Added properties "searchLinkToService", "searchLinkToServices", "searchLinkToAdvancedServices".
8. dataProvider.component.html: Parametrize component to show for datasources or services | [Bug fix] Added [class.uk-invisible]="!dataProviderInfo" in #graph_and_feedback_template.
9. dataProvider.component.ts: Parametrize component to show/query for datasources or services.
10. dataProvider.service.ts: In method "getDataproviderInfo()" added parameter "typePathParam" to search for datasources or services.
11. searchAll.component.html: Added tab for search services.
1. newSearchPage.component.html: In graph and feedback, replace uk-text-muted with uk-text-meta and add uk-margin-large-top.
2. datasourcesHelper.class.ts & searchDataProviders.component.ts & searchOrganizations.component.ts & searchProjects.component.ts & searchResearchResults.component.ts: Use OpenaireEntities for result type names.
1. newSearchPage.component.html: In search pages show warning message when there is an error (e.g. timeout) getting refine filters.
(do not hide message for not available filters when existingFiltersWithValues > 0 - when there are filters created by url)
2. searchResearchResults.component.ts & searchProjects.component.ts & searchOrganizations.component.ts & searchDataProviders.component.ts:
a. Set refine to true when there was an error in the previous refine query (searchPage.searchUtils.refineStatus != this.errorCodes.DONE).
b. When there is an error getting refine filters, call searchPage.prepareFiltersToShow([], 0) (and prepareRangeFiltersToShow() for results and projects).
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@60992 d315682c-612b-4755-9ff5-7f18f6832af3
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
Search:
1. advanced link in home and /search/find
2. DOI issue in /search/find/
3. update of numbers in tabs when there is an error in /search/find/
4. order of filters in search outcomes
5. In Landingpages: rename "Publication Summary" --> "Summary" kai "Related outcomes" --> "Related research"
Linking:
get communities but not hidden ones
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@59003 d315682c-612b-4755-9ff5-7f18f6832af3
1. src/assets/common-assets/common/custom.css: Add 'font-display: swap;' in '@font-face' css rules - improve performance.
2. dataProvider.component.html & organizations.component.html & project.component.html & resultLanding.component.html: Add check if 'indexUpdateDate' is initialized.
3. dataProvider.component.ts & organization.component.ts & project.component.ts & resultLanding.component.ts:
Initialize 'indexUpdateDate' and tabs counts only if "typeof document !== 'undefined'" (javascript is enabled) - improve performance.
4. resultLanding.component.ts: Get "provenanceActionVocabulary" and "altMetrics" only if "typeof document !== 'undefined'" (javascript is enabled) - improve performance.
5. organization.component.ts: [Bug fix] Get 'indexUpdateDate' from service (not properties) if available.
6. project.component.ts: [Bug fix] Call 'getProjectInfo()' only once (was called twice).
7. project.service.ts: [Bug fix] Add check for rels.rel.to.class=="hasParticipant" (when not array).
8. metrics.component.ts: Get metrics if "typeof document !== 'undefined'" (javascript is enabled) | Show charts only if user clicked on metrics badge | Do not set "width" for <i-frame> elements.
9. iframe.component.ts: Add case when only height is sent as input.
10. searchDataProviders.component.ts & searchOrganizations.component.ts: [Bug fix] Set "firstLoad" to false after getting results (was asking refine filters in paging too).
11. search-tab.component.ts: [Bug fix]: In method "getEntityName()" add cases when 'entityType == "project"' and 'entityType == "dataprovider"' and fix case when 'entityType == "result"'.
12. navigationBar.component.ts: [Bug fix] Do not initialize navbar inside route.queryParams subscription - !!! check it carefully when deployed in all portals !!! .
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@58874 d315682c-612b-4755-9ff5-7f18f6832af3
1. subscribe.service.ts: Remove unnecessary prints.
2. newSearchPage.component.ts: Set default value for field 'sort' to true.
3. newSearchPage.component.html: In <search-sorting> bind entityType parameter.
4. searchResearchResults.component.ts: Remove data binding for 'sort' in <new-search-page>.
5. searchProjects.component.ts & searchOrganizations.component.ts & searchDataProviders.component.ts: Add data binding [sort]="false"in <new-search-page>.
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@58594 d315682c-612b-4755-9ff5-7f18f6832af3
Search:
old datsource search pages & table view: remove map link
new Datasource search page:
able to use it for different types (compatible, journal, registries)
create a helper class for selecting proper query, filter, etc depending on the type
Advanced form:
remove [()] from html attributes
add check about showing advanced link & entites selection component
when only one advanced filed is left, change its operator to and
update according to the new UI
Autocomplete: on blur clear keyword
New Search PAge:
Handle Quotted queries for field with equality operator "="
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@58138 d315682c-612b-4755-9ff5-7f18f6832af3
1. searchDataproviders.service.ts & searchOrganizations.service.ts & searchProjects.service.ts: Remove 'type' parameter from request.
2. newSearchPage.component.ts: 'type' parameter is added for every type (not only for results).
3. entitiesSelection.component.ts: [Bug fix] For content providers: value="dataprovider".
4. searchDataProviders.component.ts & searchOrganizations.component.ts & searchProjects.component.ts: Initialize "csvParams" correctly according to queries built in search pages (search redesign).
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@58132 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