1. availableOn.component.ts: Added Full-Text before Data sources, as a separate action and as information for each instance.
2. parsingFunctions.class.ts: Added parsing for fulltext and updated method "compareHostedByCollectedFrom()" to sort by both access and existence of fulltext.
3. resultLanding.component.html: Removed classes for <availableOn> in mobile actions.
4. entity-actions.component.ts: Updated uk-text-bolder class for all actions.
5. result-preview.ts: Added "fulltext?: string;" in HostedByCollectedFrom.
1. environments/: Added in all environments, property: swhURL: "https://archive.softwareheritage.org/".
2. env-properties.ts: Added property swhURL?: string;
3. string-utils.class.ts: Added method "isValidSwhId()" and swhid in checks and definitions.
4. resultLandingInfo.ts: Added swhid in accepted types of interface Id.
5. resultLanding.component.ts: Added check for swhid in "getReferenceIdName()" and "getReferenceUrl()".
6. parsingFunctions.class.ts: Added pid[i].classid == "swhid" check in "parseIdentifiers()".
7. showIdentifiers.component.ts: Added "swhid" in display of pids.
1. home.component: Get portalName by config.portalAsObservable>name and set placeholder to "Search "+portalName.
2. portal.ts: Added parameter "name: string" in method "getMockCommunityInfo()" and set communityInfo.name = name;
3. aggregators.ts: In method "getCommunityInfoByMenuId()", added "name" parameter in Portal.getMockCommunityInfo() | Updated titles in PortalAggregators>AggregatorInfo.
1. parsingFunctions.class.ts: Added in eoscSubjects, subject "EOSC::Data Cube" (linked with Adam plarform).
2. result-preview.component.ts & fundedBy.component.ts & availableOn.component.ts & relatedDatasourcesTab.component.ts: Updated method "addEoscPrevInParams()" to add 2 parameters: "return_path" and "search_params" (instead of pv).
3. resultLanding.component.ts:
a. Updated how this.prevPath is initialized (parse url params "return_path" and "search_params" instead of "pv").
b. Added method "getEoscParams()" to return eosc params as a string (to be used in href).
c. Updated method "addEoscPrevInParams()" to add 2 parameters: "return_path" and "search_params" (instead of pv).
4. project.component.ts & dataProvider.component.ts:
a. Updated how this.prevPath is initialized (parse url params "return_path" and "search_params" instead of "pv").
b. Updated method "addEoscPrevInParams()" to add 2 parameters: "return_path" and "search_params" (instead of pv).
5. organization.component.ts: Updated how this.prevPath is initialized (parse url params "return_path" and "search_params" instead of "pv").
6. metrics.component.ts: Added method "getEoscParams()" to return eosc params as a string (to be used in href).
1. dataProvider.component.html & project.component.html & resultLanding.component.html: [Bug fix] Updated checks for usage counts iframes and changed the order they appear (first views, then downloads).
2. dataProvider.component.ts & project.component.ts:
a. [Bug fix] Added fields public hasViews: boolean = false; and public hasDownloads: boolean = false; - used in checks for displaying usage counts iframes.
b. [Bug fix] Updated parsing of dataProviderInfo.measure.counts when querying external usage counts api.
3. resultLanding.component.ts:
a. [Bug fix] Added fields public hasViews: boolean = false; and public hasDownloads: boolean = false; - used in checks for displaying usage counts iframes.
b. [Bug fix] In bipFrameUrl, when environment == "beta", add "&src=beta" parameter.
4. orcid-work.component.ts:
a. [Bug fix] Updated disabled class checks, to enable orcid buttons in search too when there are identifiers.
b. When loading - action is in progress, show loading icon next to the label.
c. In my orcid links page: renamed "Add to ORCID" to "Claim" and "Delete from ORCID" to "Remove".
5. newSearchPage.component.html: [Bug fix] Updated checks for "filters" floating button in mobile/ small screens.
6. Added method "detectChanges()" to be called by html.
7. navigationBar.component.html: Updated placeholder of search-input to align with the generic search form (Home page).
8. ISVocabularies.service.ts: [Bug fix] In methods getFos() and getSDGs(), removed check and call to cache - these files are always local.
1. full-screen-modal.component.ts: Added cancelButton: boolean = true; and show cancel button, only if cancelButton is true and okButton is false.
2. transferData.module.ts: Imported FullScreenModalModule.
3. transferData.component.html: Replaced <modal-alert> with <fs-modal> and updated the interface accordingly | In inputs, set [inputClass]="'flat'".
4. transferData.component.ts:
a. Configure FullScreenModal, instread of AlertModal.
b. In destinationOptions, set label to dest.description (used to be dest.destination).
c. In transfer, in destinations, use also element.path, to keep the initial structure/ hierarchy when transfering files.
1. rangeFilter.component: [Bug fix] Removed from method get disabled() check of isDisabled and added this check for class "disabled" in action/button (error on enter, because isDisabled was already true before triggering the action of yearChanged).
2. search-input.component.ts: [Bug fix] Added check for client side in ngAfterViewInit(), before calling "getComputedStyle".
3. searchAll.component:
a. Set "advancedSearchLink" properly and pass it to each search entity page in "simpleSearchLink" parameter.
b. In <advanced-search-form>, pass parameters [entityType]="activeEntity" and [advancedSearchLink]="advancedSearchLink" [advancedSearchLinkParameters]="parameters".
4. advancedSearchForm.component.html: Removed check this.entityType == this.selectedEntity from advanced search link.
5. searchFilter.component.ts: In filterKeywords() method, added cdr.detectChanges().
6. searchResult.component.html: [Bug fix] Reverted [isMobile] parameter to <result-preview" (removed by mistake in a previous merge).
1. searchFields.ts:
a. Added in HIDDEN_FIELDS, "instancetypename" (refine filter for research products).
b. In DEPENDENT_FIELDS, set ["instancetypename"]: "type"
2. quick-selections.component.ts: Added again (as in the past), @Input() vertical: boolean=false and show types using <search-filter> if vertical is true.
3. searchAll.component.html: Changed medium top and bottom margins to uk-margin-top uk-margin-bottom.
4. newSearchPage.component.ts:
a. In method "getFields()", check for HIDDEN_FIELDS, also dependencies to resultTypes.
b. Added method "getFilterById()".
5. newSearchPage.component.html:
a. Moved <quick-selections> to the left as filter (removed "include" line).
b. Added <ng-template #search_filter> and re-arranged the order of the filters
1. icons.ts: Added custom icon "unknown_access", when access is not available (locker with questionmark inside).
2. parsingFunctions.class.ts: Set "accessRightIcon" of each source to "unknown_access" icon, when access is not available.
3. resultLandingUtils.module.ts: Added "unknown_access" icon in iconsService.registerIcons.
4. resultLanding.component.html: Mobile view: Updated tooltip of access - added "access" word in the end.
5. availableOn.component.ts: Updated tooltip of access - added "access" word in the end.
6. result-preview.component.html: In mobile view, show access on the top right, next to the title.
7. searchResearchResults.service.ts: [Bug fix] Call parsingFunctions.addPublisherToHostedBy_collectedFrom after parsing journal, publisher and identifiers.
1. /assets: Added /media/fonts/inter folder with the "Inter" font-family.
2. eosc-custom.less: Override the default font family to use 'Inter', sans-serif.
3. routerHelper.class.ts: Added method "addQueryParam()" to add a query parameter in already existing or not object with parameters.
4. search-tab.component.ts & searchResult.component & projects-in-modal.component.ts & result/deletedByInference/deletedByInference.component.ts & organization/deletedByInference/deletedByInference.component.ts: Added @Input() prevPath: string = ""; and pass it to the appropriate children components.
5. result-preview.component & fundedBy.component.ts & availableOn.component.ts & relatedDatasourcesTab.component.ts: Added @Input() prevPath: string = ""; and method "addEoscPrevInParams()" and call it when building queryParams of internal links.
6. metrics.component.ts: Added @Input() prevPath: string = ""; and use it when building internal urls.
7. resultLanding.component.ts & project.component.ts & organization.component.ts & dataProvider.component.ts:
a. Added fields public referrer: string; and public prevPath: string;
b. Read "pv" url property and get referrer.
c. Added methods "addEoscPrevInParams()" and "eoscBackLink()".
8. resultLanding.component.html & project.component.html & organization.component.html & dataProvider.component.html:
a. Update "Go to Search" back link.
b. Call "addEoscPrevInParams()" method when building queryParams of internal links.
c. Pass "prevPath" to the appropriate children components.
1. home.component.html: Commented everything.
2. home.component.ts: Commented everything and added redirect to EOSC search.
3. app.component.ts: Commented <navbar>.
4. app-routing.module.ts: Removed unused routes | For any route other than landing, redirect to home page.
5. index.html: Removed BETA badge | Updated title from "Search OpenAIRE" to "Search EOSC".
6. errorPage.component.ts & relatedDatasourcesTab.component.ts & showAuthors.component.ts & search-tab.component.ts: If property adminToolsPortalType is eosc, open search page in OpenAIRE Explore in a new tab.
7. fos.component.ts & sdg.component.ts: If property adminToolsPortalType is eosc, open search page in OpenAIRE Explore in a new tab | If property adminToolsPortalType is eosc, do not show "feedback/suggest" link.
8. open-aire-jsonld-converter.service.ts: If property adminToolsPortalType is eosc, do not add fos and sdgs as doc.isPartOf.
1. loadingModal.module.ts: Imported LoadingModule.
2. loading.component.ts:
a. [Bug fix] loading icon (spinner) was not visible.
b. Added inputs title: string, @Input() isMobile: boolean = false, @Input() classTitle: string = "uk-background-primary uk-light".
c. Added html for small screens (mobile) when isMobile.
3. search-tab.component.ts: Added @Input() public isMobile: boolean = false and [class.uk-flex-column]="isMobile" to not show title and view all link in the same row when isMobile.
4. organization.module.ts: Imported FullScreenModalModule.
5. organization.component.ts & organization.component.html: Mobile redesign complete and functional.
1. composer.ts & resultLanding.component.ts: Removed "and Technology" from "Fields of Science" typename.
2. resultLanding.component.html: Bind (suggestClicked) to <fos> instead of (feedbackClicked).
3. input.component.ts: [Bug fix] Added check in "filter()" method if option.label.
4. sdg-selection.component.ts: [Bug fix] Set this.loading = false; inside subscribe.
5. fos.component.ts: In title, updated FOS to FoS.
6. sdg-fos-suggest.module.ts: Imported LoadingModule.
7. sdg-fos-suggest.component.ts: Show loading when sending email | Do not initialize <sdg-selection> and <fos-selection> before subjects have value (this way inputs of existing fos/sdgs are checked).
8. fos-selection.component.ts:
a. Added @Input() inModal: boolean = false; to set activeSection, when inModal, instead of navigating with fragment.
b. [Bug fix] Set this.loading = false; inside subscribe.
c. Call this.setObserver(); both in ngOnInit and when keyword changes.
d. Updated threshold of observer from 0.25 to 0.1 (large FoS categories were never triggered on scrolling, because less than 25% of their content was visible).
e. Updated fosOptions to Map<string, boolean> to track easily checked inputs and updated getSelectedSubjects() accordingly.
9. fos-selection.component.html: In search-input of keyword no options are needed | Updated ngModel of checkbox inputs.
10. cache-interceptor.service.ts: Added check if (!properties.useLongCache) to skip cache.
1. fos.component.ts & sdg.component.ts: Added Beta badge and "View all" link.
2. fundedBy.component.ts: Added @Input isMobile and relative checks in html | Updated how projects appear in mobile | Added ng-template for #funder and #dropInfo.
3. relatedTo.component.ts: Added @Input isMobile and relative checks in html | Added uk-margin-small-bottom between communities in mobile.
4. showSubjects.component.ts:
a. Added @Input isMobile and relative checks in html.
b. Added @Input() viewAllSubjects: boolean = false, @Input() viewAllClassifiedSubjects: boolean = false, @Output() viewAllClicked = new EventEmitter(); and methods "viewAllSubjectsClicked()", "viewAllSubjectsByVocabularyClicked()" to show subjects properly in mobile.
5. full-screen-modal.component.ts: Added method "backClicked()" and field public stayOpenInBack: boolean = false.
6. resultLanding.module.ts: Imported FullScreenModalModule.
7. resultLanding.component.ts & resultLanding.component.html: Redesign for small screens (mobile) for main info and its tabs (Summary, References, etc..).
1. alert.ts: Added previous button option.
2. composer.ts: Set feedback values in body | Make method "composeEmailForSdgsSuggestion()" generic to send feedback for either SDGs or FoS. - TODO: Rename method.
3. sdg-selection.component: Added some checks | Added method "getSelectedSubjects()".
4. sdg-fos-suggest.component: Updated component for suggestion | Send suggested subjects to composer | Add modal here | Make file generic for FoS or SDGs suggestion.
5. resultLanding.component: Updated how <sdg-fos-suggest> is called | Moved SDGs / FoS suggest modal inside <sdg-fos-suggest>.
1. claimContextSearchForm.component.ts & claimProjectSearchForm.component.ts & claimResultSearchForm.component.ts: Added "@Input() public centerAlign: boolean = false".
2. claimContextSearchForm.component.html & claimProjectSearchForm.component.html & claimResultSearchForm.component.html: align search form to the center if centerAlign is true (in direct linking).
3. linkingGeneric.component.ts:
a. Scroll to top smoothly when changing step.
b. Added method "getEntityName()" to resolve entity name from entity type.
4. linkingGeneric.component.html: Redesign in direct linking:
a. Hidden stepper.
b. Title before search form
c. Back button instead of breadcrumb.
d. Search form aligned to the center.
e. In basket, no tabs, but source on top of link source to.
f. Button to Step 3 renamed to "Summarise".
5. HelperFunctions.class.ts: In methods "scroll()" and "scrollTo()" added parameter "smooth: boolean = false" for smooth scroll.
6. tsconfig.json: Commented "angularCompilerOptions": { "strictTemplates": true}.
1. sdg.component.html: Added link for more information to joomla article (Canada's request).
2. timeout-interceptor.service.ts: Excluded from timeout interceptor properties.searchCrossrefAPIURL and properties.searchDataciteAPIURL.
3. searchDatacite.service.ts: In method "getDataciteResultByDOI()", for requests coming from file uploaded in linking added timeout to 20 sec, and for other requests timeout similar to the interceptor (6 sec for production, 12 otherwise).
4. searchCrossref.service.ts: In method "searchCrossrefByDOIs()", added timeout similar to the interceptor (6 sec for production, 12 otherwise) | Added method "searchCrossrefByDOI()", called for requests coming from file uploaded in linking.
5. bulkClaim.component.ts: Call new API method for Crossref requests for DOIs | Fixed tooltip to appear.
1. CuratorInfo.ts: In Curator class added visible: boolean = true;
2. personal-info.module.ts: Imported MatSlideToggleModule.
3. personal-info.component.ts: Added slider to set curator profile to visible or invisible (default to visible).
4. menu.ts: In Menu class added field "featuredAlignment: MenuAlignment;" | Added enum MenuAlignment.
5. menu.component: Updated title "Menu settings" | Added "Menu Alignment" setting, to set if custom menu will be left, center or right alligned | Added notification when menu visibility changes.
6. help-content.service.ts: Added "alignMenu()" method to align custom menu dynamically.
1. dataProvider.component.ts & organization.component.ts & project.component.ts & resultLanding.component.ts & orcid-work.component.ts: Commented unused @ViewChild fields.
2. dataProvider.service.ts & project.service.ts & resultLanding.service.ts: Strip html tags from title.
3. resultLanding.component.ts: [Bug fix] resultLanding.description is string, not array.
4. orcidWork.ts: [Bug fix] resultLanding.description is string, not array & strip html tags from description.
5. refineFieldResults.service.ts: In method "getSearchAPIURLForEntity()", for entityType "result" set suffix to "results/".
6. searchDataproviders.service.ts & searchOrganizations.service.ts & searchProjects.service.ts & searchResearchResults.service.ts: Strip html tags from title | Do not cut description (multi line ellipsis is used in html).
7. jsonld-document-serializer.service.ts: [Bug fix] resultLanding.description is string, not array.
8. result-preview.component.html: Show description as innerHTML to properly display special characters.
1. home.component.html: Added blue banner, white logo, aligned search form to the center and updated fonts according the new EOSC Marketplace.
2. parsingFunctions.class.ts: Updated link to Marketplace for eosc subject EOSC::RO-crate.
3. resultLanding.component.html: Updated how links to Compatible EOSC Services are displayed.
4. searchAll.component.html: Updated paddings and margins in search form of Search all page.
5. navigationBar.component.html: Set burger menu icon to light color if dark background.
6. advancedSearchDataProviders.component.ts & advancedSearchOrganizations.component.ts & advancedSearchProjects.component.ts & advancedSearchServices.component.ts & searchResearchResults.component.ts & searchDataproviders.component.ts & searchOrganizations.component.ts & searchProjects.component.ts & searchResearchResults.component.ts & searchServices.component.ts & search.component.ts: Set in searchForm, dark=true.
7. aggregators.ts: In eoscInfo, updated logoUrl and removed customCss of AggregatorInfo.
8. app.component.ts: Set header.darkBg: true.
9. Added eosc-custom.less file.
10. styles.less: import eosc-custom less file, instead of portal-custom.css.
11. deletedByInference.service.ts & result-preview.ts: [Bug fix] Parse description of versions properly.
12. reports.service.ts: Copy fix from angular-14 branch - do not timeout to 10000.