Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ENG-4574] Preprint discover rewrite #1896

Conversation

futa-ikeda
Copy link
Contributor

@futa-ikeda futa-ikeda commented Jun 30, 2023

Purpose

  • Rewrite the preprints discover page to use the new search-page component

Summary of Changes

  • Add app/preprints/template.hbs to house general preprints templating (import CSS using <ThemStyles> and <BrandedNavbar>
  • Update <BrandedNavbar> to support preprints in ember-osf-web
  • Update preprints discover route and controller to support search-page
  • Update search-page component
    • support default query options to send to SHARE
    • Add result count

To-Do:

  • Invalid preprint provider handling
  • Reset theme when leaving route
  • Branded header
  • Screenshots
  • Tests

Screenshot(s)

Preprint branded discover page
Desktop
image
Mobile
image

Side Effects

  • Should be none...

QA Notes

  • This touches the <BrandedNavbar> component that is used in collections. I checked to make sure these didn't break, but a double-check if the buttons for collections navbars are showing up as expected would be much appreciated ("Moderation", "My OSF Projects", "Add to Collection")

@adlius
Copy link
Contributor

adlius commented Jul 3, 2023

One thing to note is that there is an additionalProviders field on a preprint provider model. Users may search for preprints from outside sources and there is a whole bunch of logic to show a different facet filter. We may need to discuss how we want to handle that.

@futa-ikeda futa-ikeda changed the title [ENG-4574] Preprint discover rewrite [Draft][ENG-4574] Preprint discover rewrite Jul 5, 2023
@futa-ikeda futa-ikeda changed the title [Draft][ENG-4574] Preprint discover rewrite [ENG-4574] Preprint discover rewrite Jul 7, 2023
@futa-ikeda
Copy link
Contributor Author

Re: additionalProviders
For now, we will not be supporting that feature going forward, as only one preprint provider is using it in production and that provider hasn't had much/any activity on it since 2018

Copy link
Contributor

@brianjgeiger brianjgeiger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looks good to me. Just a couple of questions.

<ul>
{{#each this.resourceTypeOptions as |resourceType|}}
<li>
<LinkTo
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not using a button here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using a LinkTo here as we use the .active class to style the resource-type currently applied (not to be mistaken with the :active pseudo-class in button.scss for buttons being clicked by users). You may ask in follow-up, why not use <OsfLink> then? <OsfLink> doesn't do well with adding the .active class if we are looking for active query-params.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool

Comment on lines +60 to +69
if (model.brand) {
relationships.brand = {
links: {
related: {
href: `${apiUrl}/v2/brands/${model.brand.id}/`,
meta: {},
},
},
};
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So, to be sure, a brand relationship is being added to the backend, and will have the CSS as well? Are we going to be maintaining the CSS two ways, one in the admin app, and one via the preprint provider GitHub project?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that's the idea now until all of preprint is in ember-osf-web.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yea, currently we are doing both ways of branding: using the brand relationship, and the custom css file. There's some stuff that the brand relationship can't currently do (navbar customization), so I've opted to use both and try to make sure the custom css route isn't utilized further into the future.

@@ -38,6 +41,9 @@ interface SearchArgs {
toggleFilter: (filter: Filter) => void;
sort: string;
resourceType: string;
defaultQueryOptions: Record<string, string>;
provider?: ProviderModel;
showSidePanelToggle: boolean;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need to pass this in as an argument. Should be a property on the component

@@ -71,6 +78,23 @@ export default class SearchPage extends Component<SearchArgs> {
return this.resourceTypeOptions.find(option => option.value === this.resourceType);
}

get showResourceTypeFilter() {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make this a passed in parameter

@adlius adlius merged commit 3e7e779 into CenterForOpenScience:feature/search-improvements Jul 11, 2023
9 checks passed
@futa-ikeda futa-ikeda deleted the preprint-discover-rewrite branch July 12, 2023 17:53
adlius added a commit that referenced this pull request Aug 28, 2023
* Add new route for search (#1830)

* [ENG-4450] Add new share-search models (#1835)

-   Ticket: [ENG-4450]
-   Feature flag: n/a

## Purpose
- Add new models needed for SHARE-powered search page

## Summary of Changes
- Add new models
  - `metadata-record-search`
  - `metadata-property-search`
  - `metadata-value-search`
  - `metadata-record`
  - `search-match`
- New `ShareAdapter` and `ShareSerializer` to be used by these new models
- New mirage endpoint for metadata-record-search (other endpoints coming later)

* Add basic search page layout (#1850)

* [ENG-4465] Left panel facets manager (#1858)

-   Ticket: [ENG-4465] [ENG-4466]
-   Feature flag: n/a

## Purpose
- Add logic to search page controller to handle active filters and list of filterable properties
- Add a component to handle fetching values in a filterable properties in the search page

## Summary of Changes
- Add a `filter-facet` component
  - takes care of fetching filterable property values
  - `See more` modal

* Add route analytics metadata (#1865)

* [ENG-4469] Add object filter and sort dropdown to search (#1864)

-   Ticket: [ENG-4469]
-   Feature flag: n/a

## Purpose
- Add object type filter and sort dropdown to search page

## Summary of Changes
- Add tabs to filter by object type (All, Projects, Registrations, Preprints, Files, Users)
- Add dropdown to sort results by Relevance, Date modified/created ascending and descending
- Change model names to reflect more library-analogy based names
- Change how metadata properties are fetched from SHARE models

* [ENG-4470] Reroute to new search (#1870)

-   Ticket: [ENG-4470]
-   Feature flag: n/a

## Purpose
- reroute users to the new search page instead of registries discover
- Use OsfLink for navbar link to search page to avoid a full app reload
 
## Summary of Changes
- Change search behavior on registries landing page (osf.io/registries)
- Rewrite how osf-navbar handles "Search" button to use OsfLink

* [No ticket] Update SHARE endpoints (#1879)

-   Ticket: [No ticket]
-   Feature flag: n/a

## Purpose
- Update SHAREAdapter to point to correct locations

## Summary of Changes
- Update SHAREAdapter parent class to point use config variable for share-url
- Update SHAREAdapter parent class to point use api/v3 endpoints
- Update search-related adapters to point to singularized endpoint names (e.g. api/v3/index-card-search**es** -> api/v3/index-card-search
- Update mirage endpoints to reflect these changes

* [ENG-4568] Componentize search page (#1886)

-   Ticket: [ENG-4568]
-   Feature flag: n/a

## Purpose
- Componentize search page for reuse in branded pages

## Summary of Changes
- Move logic and templating from search page route to `search-page` component
- No logic for branding and default query-params yet in this PR

* [ENG-4570] Add institution search placeholder route (#1888)

* add institution search placeholder route

* modify route path

* modify route path

* change route name and path

* add route for preprint discover page (#1890)

* [ENG-4574] Preprint discover rewrite (#1896)

* add brand relationship to preprint provider model (#1887)

* Remove unused services from search controller

* Use search-page component on preprint discover page

* Modifiy branded-navbar for preprints

* Error handling and theme resetting

* Branded preprint discover part 1

* Branded preprint discover part 2

* Test prerpint discover page

* Group CR feedback re: search-page component arguments

* Fix test

---------

Co-authored-by: Yuhuai Liu <yuhuai@cos.io>

* [ENG-4573] Registry discover (#1900)

* preliminary

* moar

* some more

* delete unused components

* remove top-level aggregate registries discover route

* remove top-level registries discover route cont.

* remove unused action and variable on registries application route

* remove aggregate registries discover page tests

* fix tests

* remove discover-test.ts

* CR followup

* [ENG-4574] Preprint discover fixes (#1905)

-   Ticket: [ENG-4574]
-   Feature flag: n/a

## Purpose
- Add appropriate page title to discover page
- Add appropriate analytics scope to discover page
- Make provider description now show html entities

## Summary of Changes
- Use `{{html-safe}}` when showing provider description
- Add `providerTitle` in preprint-provider model
  - Most branded providers should show their name with their preprint word (e.g. AfricaRxiv Preprints, MarXiv Papers), except Thesis Commons
  - If it's OSF, we just show "OSF Preprints"
- Add page-title and analytics scope using the new `providerTitle`

* Track theme service properties (#1908)

* [ENG-4575]  Institution dashboard page re-write (#1902)

-   Ticket: https://openscience.atlassian.net/browse/ENG-4575
-   Git branch: feature/search-institutions-rewrite

## Purpose

The purpose of these changes is to implement the new search page component for the Institutions Discover page.

## Summary of Changes

-Used the new search-page component to re-implement the Institutions dashboard/discover page

-Added institution header with description and banner for desktop, logo and description for mobile

-Added logic for institution colors and default OSF colors when none provided

-Added an affiliated institution filter applied by default to SHARE queries

* [ENG-4535] Search help feature (#1907)

-   Ticket: [ENG-4535]
-   Feature flag: n/a

## Purpose
- Add search help feature
  - Basically a re-implementation of #1891 and #1877
  - Notable difference is moving the Popovers to the end of the file to avoid merge conflicts

## Summary of Changes
- Added EmberPopovers to the search-page component
- Added getters to search-page component to fetch EmberPopover targets dynamically
- Translations
- Tests

* [No Ticket] Change queryparam passed to SHARE when filtering by resourceType (#1915)

* change queryparam passed to SHARE when filtering by resourceType

* add types

* add some more types

* update tests

* [No ticket] Preprint branding rework (#1913)

-   Ticket: []
-   Feature flag: n/a

## Purpose
- Only rely on `brand` relationship for setting preprint colors

## Summary of Changes
- Use `brand.primaryColor` for branded navbar background color
  - Add styling if the brand's primaryColor does not provide sufficient contrast with white text
 - Add special-case for BioHackrXiv to change navbar color to white (their primary color would be white, but that creates problems for `<Button>` behavior, so their primary is black instead)
- Use `brand.heroBackgroundImage` for hero banner background, as well as advisory board section when @brianpilati implements that page. Currently just a solid color
- Use `brand.navbarLogoImage` for navbar logo if `preprintProvider.assets.square_color_transparent` is not defined
- Update `<Button>` component to detect primary color and use white/black text depending on color contrast

* [WIP][ENG-4467]Search result card (#1914)

-   Ticket: [ENG-4467]
-   Feature flag: n/a

## Purpose
- Add search result cards and secondary metadata components for the searchable OSF Object types

* Explicitly ask for resource-types when selecting All (#1920)

* add registration template info to search result card (#1923)

* Preprints branding update (#1922)

-   Ticket: []
-   Feature flag: n/a

## Purpose
- Remove possible failure point by not using preprintProvider.asset
- Add special casing to address nutrixiv's navbar color https://osf.io/preprints/nutrixiv/

## Summary of Changes
- Remove use of ThemeStyles from preprint (this set the navbar logo to use the preprintProvider.asset. square_color_transparent, when we want to just use the brand. topnavLogoImage going forward)
- Add special case for nutrixiv to use a white background similar to biohackrxiv

* Show loading indicators and no-results message (#1927)

* Add file-secondary-metadata (#1926)

* add file-secondary-metadata

* add resource nature

* [ENG-4583] Add analytics to new search interface (#1893)

* Merge conflicts.

Added starter Search Page component.

* Resolving merge conflicts.

Moved Search page to OSF components.

* Resolved merge conflicts.

Updated logic on Search component and controller.

* Move filter-facet under new search page component

* Test failures

* Resolving merge conflicts from rebase onto search-improvements.

[ENG-4535] Search help feature - componentized (#1891)

-   Ticket: https://openscience.atlassian.net/browse/ENG-4535
-   Git branch: feature/help-feature

The purpose of these changes is to provide the Search page with a three-part help tutorial introducing users to the new Search page's highlighted functionality.

1. The EmberPopover component was used to populate the tutorial's content and rendering.
2. Boolean values to show or hide tooltip were implemented for the TS logic. The individual panels of the tutorial will show or hide themselves based on their true/false values applied by the tutorial's button navigation.
3. CSS was applied to the popover to give it a more native OSF user interface.

* Updated debug logging of search events to data analytics scope and name.

* Re-adding link for analytics service.

* Removing link for analytics service.

* Updated debug logging of search events to data analytics scope and name.

* Resolving rebase differences.

* Resolving rebase differences.

* Resolving rebase differences.

* Resolving rebase differences.

* Updating mobile logic for tests and display.

* Updated analytics for new help structure.

* Updated location of analytics scope invocation.

* Moved data test selectors to the inner Ember popover div.

* Removed outer div scope for analytics.

---------

Co-authored-by: Futa Ikeda <futa.ikeda@gmail.com>

* Test prerpint discover page

* Group CR feedback re: search-page component arguments

* Added new preprints index to the new branch

* Added translation strings

* Fixed a rebase

* Rebase fix

* Removed the add-ons and moved search-help-modal to osf-components

* Fixed a merge conflict

* Fixed a few git merge conflicts

* Added more logic to get the page to render

* Added the taxonomy top list component and integrated it into the index page

* Updates to the preprints template file to remove bootstrap

* Fixed the css for the taxonomy-top-list

* Removed an unnecessary import for analytics

* Added more information for the providers

* Added the advisory board attribute

* Finished the html transformation for preprints

* Fixed the routing to use a single template

* Updates to remove unused variables and added branding

* Fixed the css for the steering committee

* Updates for comments from PR

* Fixed some css and updated the mirage for global classes

* Updates for branding

* Added more styling for mobile

* Added more information for preprints

* Added more information for the taxomony

* Added a branded footer for preprints

* Fixed the preprint provider logic ... again

* Fixed the branded header search

* Fixed the page title logic

* Removed useless test

* Move preprint specific components to the app/preprints/-components

* Added taxonomy tests

* Added another test

* Added another test

* Revert 1898 bp/feature/search improvements (#1934)

* add nodeLicense and nodeFunders to file card (#1932)

* Add pagination (#1929)

* setting up pagination

* finish adding pagination

* fix

* another fix

* reset page on updateSort and toggleFilter

* fix tests

* fix typo

* simplify the way we get page cursor

* fix resourceNature and cardSearchText (#1936)

* User orcid (#1930)

* add user orcid

* fix tests

* add aria label for link

* Revert registry, preprint and institution discover pages. (#1935)

* Revert "[ENG-4573] Registry discover (#1900)"

This reverts commit 2ab39e0.

* comment out institution discover and preprint routes

* skip tests

* change orcid logo color (#1937)

* Integrate filterable properties (#1924)

* Hide empty properties better (#1938)

* Use dl,dt,dd for search-result-card secondary-metadata (#1941)

* Add more secondary metadata to search-result-card (#1943)

* Address links to search page scattered around OSF (#1939)

* Fix search sort (#1942)

* Add file parent and contributors; make contributors show up as links (#1944)

* add file parent and contributors; make contributors as links

* fix tests

* simplify

* fix (#1946)

* Properly show result count; handle 10k+ results (#1945)

* Update browse registrations link (#1949)

* Fix the bug when a provider doesn't have name; fix a typo (#1948)

* fix bugs

* fix

* fix typo

* fix registries index page query param when transition to search page

* Update the way we get contributor id. Remove registries discover route

* fix hasSupplementalResource badge

* redirect users to search page from registries discover page

* remove irrelevant tests. Fix othere tests.

* remove another test

* Allow multiple values for a filterable property (#1947)

* Reorder card fields; Add link to preprint provider field; Change page size (#1951)

* change ordering on files secondary card

* change ordering for registration secondary card

* change ordering f or preprints secondary card

* change ordering for project secondary card

* change page size

* Special case for facet labels; fix facet count width; fix open badges link (#1952)

* add special casing

* make facet count take priority in width

* fix

* fix language field (#1953)

* Help popover targets for mobile; Search textbox placeholder (#1954)

* Boolean search fields (#1955)

* Add project/preprint supplements field as boolean fields

* Remove is-absent option from boolean filter fields

* Reroute users to registries landing page instead of discover page for… (#1956)

* Reroute users to registries landing page instead of discover page for osf

* Update test

* Add fallback option for node-license license link (#1957)

* [ENG-4486]  Styling new search page + facet filters and cards (#1940)

* Resolving merge conflicts.

* Updated styling for pagination, result type uppercase text transform.

* Resolving merge conflicts.

Fixed bug for left nav styling, removed institutions styling code for institutions release.

* Moved button styling for see more facet filters close button for styling scope.

* Updated help button index value selector to named local class selector.

* Updated button child selector to named local class selector.

* Updated margin for search count, removed capitalization for parent component reference.

* Moved scope of the sort option dropdown's styling to be within its local class selector.

* Updated sort dropdown div structure in template, updated styles for dropdown, removed unnecessary caret selector.

* Updated mobile stylings, added background color to main body, updated dimensions for tablet display, added local class selector for sort and type dropdowns, improved header layout to match mock-ups.

* Updated mobile selector for help button, added padding for longer text on mobile cards.

* Updated padding for left panel, updated result counter padding, font weight and size to match mock-ups.

* Improved layout for no results, one result, no properties, max height of pagination buttons, and topbar formatting.

* Updated stylings for browser client re-sizings between mobile and full-size desktop view, corrected styling for tablet view.

* Updated button styling for search button, updated background color to use variable name.

* Moved sort dropdown outside of nav element, removed unnecessary stylings for input wrapper.

* Updated sort dropdown styling to use align items property.

* Removed sidenav toggle styling, removed justify content property, updated to not use not selector for help button, added nowrap to prevent text wrapping on heading wrapper h1, updated sort by label dropdown div to have same pixel value as resource type, updated media query pixel allocation for dropdown toggle.

* Removed name field capitalization.

* Updated result card template for upstream changes.

* Fix styling for open resources badges (#1959)

* fix styling for open resources badges

* fix linting

* Add Withdrawn label to withdrawn things (#1958)

* Add Withdrawn label to withdrawn things

* Align withdrawn label

* Update help text (#1960)

* Mobile: Fix squished withdraw label (#1962)

* Bug fixes for sort dropdown, help guide button and next buttons. (#1961)

* Search card fixes (#1963)

* Add back isContainedBy to search-result-card

* Preserve whitespace for description field

* Scroll to top on page change (#1964)

* Stop targeting body in css (#1965)

* Fix long list items for search cards (#1966)

* Use vertical layout for registries search result cards (#1969)

* [BUG] Fix expanded card elements, result card title, fold line separator (#1968)

* Upadated result container styles for secondary metadata container, added horizontal padding to type labels, removed excessive padding on bottom of open badges list, added top border between primary and secondary metadata containers.

* Updated data definition and term selector, removed unnecessary left margin.

* [BUG] Fix search topbar active and hover state, pagination buttons, panel header (#1971)

* Corrected active and hover state for search topbar, reduced top margin for the left panel header.

* Added data test selectors for testing search page functionality.

* Updated spacing, height, and width of pagination buttons, updated translation strings for proper next and previous button text.

* Removed unnecessary elements and translations strings.

* Removed unnecessary styling.

* Updated last child selector to descendant only.

* revert some of the topbar padding and width changes (#1973)

---------

Co-authored-by: Yuhuai Liu <yuhuai@cos.io>
Co-authored-by: Ashley Robinson <82047646+chth0n1x@users.noreply.github.com>
Co-authored-by: Brian Pilati <brianpilati@cos.io>
@futa-ikeda futa-ikeda added this to the 23.10.0 milestone Aug 29, 2023
bp-cos pushed a commit that referenced this pull request Oct 27, 2023
* add brand relationship to preprint provider model (#1887)

* Remove unused services from search controller

* Use search-page component on preprint discover page

* Modifiy branded-navbar for preprints

* Error handling and theme resetting

* Branded preprint discover part 1

* Branded preprint discover part 2

* Test prerpint discover page

* Group CR feedback re: search-page component arguments

* Fix test

---------

Co-authored-by: Yuhuai Liu <yuhuai@cos.io>
adlius added a commit that referenced this pull request Nov 30, 2023
* [ENG-4450] Add new share-search models (#1835)

-   Ticket: [ENG-4450]
-   Feature flag: n/a

- Add new models needed for SHARE-powered search page

- Add new models
  - `metadata-record-search`
  - `metadata-property-search`
  - `metadata-value-search`
  - `metadata-record`
  - `search-match`
- New `ShareAdapter` and `ShareSerializer` to be used by these new models
- New mirage endpoint for metadata-record-search (other endpoints coming later)

* Add basic search page layout (#1850)

* [ENG-4465] Left panel facets manager (#1858)

-   Ticket: [ENG-4465] [ENG-4466]
-   Feature flag: n/a

- Add logic to search page controller to handle active filters and list of filterable properties
- Add a component to handle fetching values in a filterable properties in the search page

- Add a `filter-facet` component
  - takes care of fetching filterable property values
  - `See more` modal

* [ENG-4469] Add object filter and sort dropdown to search (#1864)

-   Ticket: [ENG-4469]
-   Feature flag: n/a

- Add object type filter and sort dropdown to search page

- Add tabs to filter by object type (All, Projects, Registrations, Preprints, Files, Users)
- Add dropdown to sort results by Relevance, Date modified/created ascending and descending
- Change model names to reflect more library-analogy based names
- Change how metadata properties are fetched from SHARE models

* [No ticket] Update SHARE endpoints (#1879)

-   Ticket: [No ticket]
-   Feature flag: n/a

- Update SHAREAdapter to point to correct locations

- Update SHAREAdapter parent class to point use config variable for share-url
- Update SHAREAdapter parent class to point use api/v3 endpoints
- Update search-related adapters to point to singularized endpoint names (e.g. api/v3/index-card-search**es** -> api/v3/index-card-search
- Update mirage endpoints to reflect these changes

* [ENG-4568] Componentize search page (#1886)

-   Ticket: [ENG-4568]
-   Feature flag: n/a

- Componentize search page for reuse in branded pages

- Move logic and templating from search page route to `search-page` component
- No logic for branding and default query-params yet in this PR

* [ENG-4574] Preprint discover rewrite (#1896)

* add brand relationship to preprint provider model (#1887)

* Remove unused services from search controller

* Use search-page component on preprint discover page

* Modifiy branded-navbar for preprints

* Error handling and theme resetting

* Branded preprint discover part 1

* Branded preprint discover part 2

* Test prerpint discover page

* Group CR feedback re: search-page component arguments

* Fix test

---------

Co-authored-by: Yuhuai Liu <yuhuai@cos.io>

* [ENG-4573] Registry discover (#1900)

* preliminary

* moar

* some more

* delete unused components

* remove top-level aggregate registries discover route

* remove top-level registries discover route cont.

* remove unused action and variable on registries application route

* remove aggregate registries discover page tests

* fix tests

* remove discover-test.ts

* CR followup

* [ENG-4574] Preprint discover fixes (#1905)

-   Ticket: [ENG-4574]
-   Feature flag: n/a

- Add appropriate page title to discover page
- Add appropriate analytics scope to discover page
- Make provider description now show html entities

- Use `{{html-safe}}` when showing provider description
- Add `providerTitle` in preprint-provider model
  - Most branded providers should show their name with their preprint word (e.g. AfricaRxiv Preprints, MarXiv Papers), except Thesis Commons
  - If it's OSF, we just show "OSF Preprints"
- Add page-title and analytics scope using the new `providerTitle`

* [ENG-4535] Search help feature (#1907)

-   Ticket: [ENG-4535]
-   Feature flag: n/a

- Add search help feature
  - Basically a re-implementation of #1891 and #1877
  - Notable difference is moving the Popovers to the end of the file to avoid merge conflicts

- Added EmberPopovers to the search-page component
- Added getters to search-page component to fetch EmberPopover targets dynamically
- Translations
- Tests

* [No Ticket] Change queryparam passed to SHARE when filtering by resourceType (#1915)

* change queryparam passed to SHARE when filtering by resourceType

* add types

* add some more types

* update tests

* [No ticket] Preprint branding rework (#1913)

-   Ticket: []
-   Feature flag: n/a

- Only rely on `brand` relationship for setting preprint colors

- Use `brand.primaryColor` for branded navbar background color
  - Add styling if the brand's primaryColor does not provide sufficient contrast with white text
 - Add special-case for BioHackrXiv to change navbar color to white (their primary color would be white, but that creates problems for `<Button>` behavior, so their primary is black instead)
- Use `brand.heroBackgroundImage` for hero banner background, as well as advisory board section when @brianpilati implements that page. Currently just a solid color
- Use `brand.navbarLogoImage` for navbar logo if `preprintProvider.assets.square_color_transparent` is not defined
- Update `<Button>` component to detect primary color and use white/black text depending on color contrast

* Preprints branding update (#1922)

-   Ticket: []
-   Feature flag: n/a

## Purpose
- Remove possible failure point by not using preprintProvider.asset
- Add special casing to address nutrixiv's navbar color https://osf.io/preprints/nutrixiv/

## Summary of Changes
- Remove use of ThemeStyles from preprint (this set the navbar logo to use the preprintProvider.asset. square_color_transparent, when we want to just use the brand. topnavLogoImage going forward)
- Add special case for nutrixiv to use a white background similar to biohackrxiv

* Test prerpint discover page

* Group CR feedback re: search-page component arguments

* Added new preprints index to the new branch

* Added translation strings

* Fixed a rebase

* Rebase fix

* Removed the add-ons and moved search-help-modal to osf-components

* Fixed a merge conflict

* Fixed a few git merge conflicts

* Added more logic to get the page to render

* Added the taxonomy top list component and integrated it into the index page

* Updates to the preprints template file to remove bootstrap

* Fixed the css for the taxonomy-top-list

* Removed an unnecessary import for analytics

* Added more information for the providers

* Added the advisory board attribute

* Finished the html transformation for preprints

* Fixed the routing to use a single template

* Updates to remove unused variables and added branding

* Fixed the css for the steering committee

* Updates for comments from PR

* Fixed some css and updated the mirage for global classes

* Updates for branding

* Added more styling for mobile

* Added more information for preprints

* Added more information for the taxomony

* Added a branded footer for preprints

* Fixed the preprint provider logic ... again

* Fixed the branded header search

* Fixed the page title logic

* Removed useless test

* Move preprint specific components to the app/preprints/-components

* Added taxonomy tests

* Added another test

* Added another test

* Added additional tests for the branded header

* Added Branded footer tests

* Pruned an unused providerModel from the branded-header

* Added more tests

* Added a test file

* Added the initial template and attempt to have it compiled

* Added the controller and the styles -- first pass

* Added a router and continued to clean-up the controller

* Removed chronos

* Fixed an the computed and actions

* Cleaned-up computed method

* Removed unused route code

* Added routing and a factory to mirage for preprints

* Fixed the routing, mirage and prototyped the model is working

* Initial steps to update the template

* mirage updates

* Updated users to have html link

* Added logic to have the contributors displayed using the pre-build component

* Updates for preprint details

* Added more details for the preprint details page

* Added information for the primaryFile

* Added the ability to display a pdf from a local assets

* Finished the abstract section

* Added the license information

* Added some miscellaneous logic for licenses

* Added original date published

* Added tags to the preprint detail page

* Added citations and a lot of stuff that I have no idea about without Futa

* Added the preprint doi

* Added the supplemental material

* Added the download option, with metrics

* Initial work on the social icons

* Added the plaudit widget

* Added the final touches for mobile views

* Initial pass for withdrawn preprints

* Initial commit for the preprint-status-banner component

* Additional refactors to bring the ts file up-to-date with latest ember

* Added a current state icon method

* Refactored all the constants to be typescript compatible

* Appears the preprint status banner will now compile

* Fixed mirage logic and some refactors

* Added more styling and translations

* Added a bunch of serializer, mirage and scenario logic

* Added a bunch of mirage love

* Finished all the conditional statements for the details page

* Fixing scenarios with contributors

* Finished adding all the preprint checks

* refactored the doi to be a stand-alone component

* Renamed doi to be preprint-doi

* Added the preprint-license

* Added the tombstone page

* Added the preprint disciplines component

* pruned some code

* Converted the preprint-tag page

* added the tombstone component

* Added the abstract component and refactored the tombstone and detail page

* Added the initial author-assertions

* Added the preprint assertion link

* Fixed the css for author assertions, coi and data

* Finished author assertion for pre registration links

* Removed unecessary comments

* Fixed a few issues recommended by Futa after the mega-merge

* Fixed pagination for branded preprint provider, added a provider without an image for a use case that eric is presenting

* Removed all the `import config from ember-get-config`

* Removed some comments

* Removed some commentted out router code

* Defined the data-test

* Removed a bootstrap and eslint-ignore

* Removed comments

* Removed an unnecessary max-len

* Removed comments

* Removed comments

* Fixed a length and added an enum

* Added enums to a model

* Renamed a method

* Removed a stale file

* Refactor the brandedProvider store call

* Refactored a template file

* Pruned translation strings

* Removed a comment

* Enum name change

* Updated the inverse to be target on preprint files

* removed the preprint-tag/component

* Removed the tombstone component

* Changed String to string

* Changed String to string - Part II

* Refactored a string to be an enum

* endingWithdrawal to pendingWithdrawal

* Removed the preprint-assertion-link component

* Removed the branded-footer component

* Refactored some comments and enums

* Added a better IRI based filter

* Pruned unused code

* Fixed a translation string name

* Removed unnecessary branded navbar params

* Fixed a return enum from the api

* Moved old unused code

* Added the metric start date to the controller and environment

* Fixed an overly aggressive find/replace and commented out code

* Fixed the query on the taxonomy-top-list component

* fixed the belongsTo relationship on a file

* made the branded header search placeholder dynamic

* Removed the abstractDoi from the preprint doi url

* Removed the abstractDoi from the article

* Fixed the branded footer

* Preprint review action prototype

* Updated the reviewActions for the Preprint model

* change LinkTo element parameter

* fix branded header tests

* fix taxonomy-top-list tests

* fix branded header test

* Updated the abstract template to use expandable-preview and removed the component

* set inverse to null

* Fixed build issues

* fix preprint routing

* attempt

* try this

* Removed the bibiliographic stuff and added feature switches for M1 chips

* Better fix for adapters

* Revert "Better fix for adapters"

This reverts commit da03639.

* Revert "Removed the bibiliographic stuff and added feature switches for M1 chips"

This reverts commit 4344e41.

* Remvoed bibliographicContributors

* Fixed the edit link

* Added the fix for the search button

* Fixed the routing for osf and branded providers

* Fixed an issue with theme.reset

* Removed button

* pruning code

* Use gray background for preprint detail

* Show preprint as active service

* Use config for donate link

* Add different set of navbar links for preprints

* Fixed the routing for /preprints/<guid>

* Fix for Yuhuai

* Update for Yuhuai

* Fixed the plaudit env variables

* Fixed the branded footer link for preprints (#2059)

* Added mobile logic to the author assetions

* Fixed the styles for the status banner

* Fixed the css will be non-biased

* This did need a text-align: center

* Allow provider-specfic default citation styles (#2056)

* Fix branded navbar colors for mobile (#2060)

* Fix branded navbar colors for mobile

* Less whacky css rules

* Fix link to my-preprints

* Fixed a link

* Fixed the logic for preprints with a coi of null

* Preprint metadata (#2065)

* Avoid double-loading citation fixture

* Add logic to add metadata to head for preprint detail

* Updates to fix the text on the branded search page

* Move favicon logic to parent route

* Fix copy-pasta

* Lint

---------

Co-authored-by: futa-ikeda <51409893+futa-ikeda@users.noreply.github.com>
Co-authored-by: Futa Ikeda <futa.ikeda@gmail.com>
Co-authored-by: Brian Pilati <brianpilati@cos.io>
Co-authored-by: Lord Business <113387478+bp-cos@users.noreply.github.com>
bp-cos added a commit to bp-cos/ember-osf-web that referenced this pull request Jan 31, 2024
* [ENG-4450] Add new share-search models (CenterForOpenScience#1835)

-   Ticket: [ENG-4450]
-   Feature flag: n/a

- Add new models needed for SHARE-powered search page

- Add new models
  - `metadata-record-search`
  - `metadata-property-search`
  - `metadata-value-search`
  - `metadata-record`
  - `search-match`
- New `ShareAdapter` and `ShareSerializer` to be used by these new models
- New mirage endpoint for metadata-record-search (other endpoints coming later)

* Add basic search page layout (CenterForOpenScience#1850)

* [ENG-4465] Left panel facets manager (CenterForOpenScience#1858)

-   Ticket: [ENG-4465] [ENG-4466]
-   Feature flag: n/a

- Add logic to search page controller to handle active filters and list of filterable properties
- Add a component to handle fetching values in a filterable properties in the search page

- Add a `filter-facet` component
  - takes care of fetching filterable property values
  - `See more` modal

* [ENG-4469] Add object filter and sort dropdown to search (CenterForOpenScience#1864)

-   Ticket: [ENG-4469]
-   Feature flag: n/a

- Add object type filter and sort dropdown to search page

- Add tabs to filter by object type (All, Projects, Registrations, Preprints, Files, Users)
- Add dropdown to sort results by Relevance, Date modified/created ascending and descending
- Change model names to reflect more library-analogy based names
- Change how metadata properties are fetched from SHARE models

* [No ticket] Update SHARE endpoints (CenterForOpenScience#1879)

-   Ticket: [No ticket]
-   Feature flag: n/a

- Update SHAREAdapter to point to correct locations

- Update SHAREAdapter parent class to point use config variable for share-url
- Update SHAREAdapter parent class to point use api/v3 endpoints
- Update search-related adapters to point to singularized endpoint names (e.g. api/v3/index-card-search**es** -> api/v3/index-card-search
- Update mirage endpoints to reflect these changes

* [ENG-4568] Componentize search page (CenterForOpenScience#1886)

-   Ticket: [ENG-4568]
-   Feature flag: n/a

- Componentize search page for reuse in branded pages

- Move logic and templating from search page route to `search-page` component
- No logic for branding and default query-params yet in this PR

* [ENG-4574] Preprint discover rewrite (CenterForOpenScience#1896)

* add brand relationship to preprint provider model (CenterForOpenScience#1887)

* Remove unused services from search controller

* Use search-page component on preprint discover page

* Modifiy branded-navbar for preprints

* Error handling and theme resetting

* Branded preprint discover part 1

* Branded preprint discover part 2

* Test prerpint discover page

* Group CR feedback re: search-page component arguments

* Fix test

---------

Co-authored-by: Yuhuai Liu <yuhuai@cos.io>

* [ENG-4573] Registry discover (CenterForOpenScience#1900)

* preliminary

* moar

* some more

* delete unused components

* remove top-level aggregate registries discover route

* remove top-level registries discover route cont.

* remove unused action and variable on registries application route

* remove aggregate registries discover page tests

* fix tests

* remove discover-test.ts

* CR followup

* [ENG-4574] Preprint discover fixes (CenterForOpenScience#1905)

-   Ticket: [ENG-4574]
-   Feature flag: n/a

- Add appropriate page title to discover page
- Add appropriate analytics scope to discover page
- Make provider description now show html entities

- Use `{{html-safe}}` when showing provider description
- Add `providerTitle` in preprint-provider model
  - Most branded providers should show their name with their preprint word (e.g. AfricaRxiv Preprints, MarXiv Papers), except Thesis Commons
  - If it's OSF, we just show "OSF Preprints"
- Add page-title and analytics scope using the new `providerTitle`

* [ENG-4535] Search help feature (CenterForOpenScience#1907)

-   Ticket: [ENG-4535]
-   Feature flag: n/a

- Add search help feature
  - Basically a re-implementation of CenterForOpenScience#1891 and CenterForOpenScience#1877
  - Notable difference is moving the Popovers to the end of the file to avoid merge conflicts

- Added EmberPopovers to the search-page component
- Added getters to search-page component to fetch EmberPopover targets dynamically
- Translations
- Tests

* [No Ticket] Change queryparam passed to SHARE when filtering by resourceType (CenterForOpenScience#1915)

* change queryparam passed to SHARE when filtering by resourceType

* add types

* add some more types

* update tests

* [No ticket] Preprint branding rework (CenterForOpenScience#1913)

-   Ticket: []
-   Feature flag: n/a

- Only rely on `brand` relationship for setting preprint colors

- Use `brand.primaryColor` for branded navbar background color
  - Add styling if the brand's primaryColor does not provide sufficient contrast with white text
 - Add special-case for BioHackrXiv to change navbar color to white (their primary color would be white, but that creates problems for `<Button>` behavior, so their primary is black instead)
- Use `brand.heroBackgroundImage` for hero banner background, as well as advisory board section when @brianpilati implements that page. Currently just a solid color
- Use `brand.navbarLogoImage` for navbar logo if `preprintProvider.assets.square_color_transparent` is not defined
- Update `<Button>` component to detect primary color and use white/black text depending on color contrast

* Preprints branding update (CenterForOpenScience#1922)

-   Ticket: []
-   Feature flag: n/a

- Remove possible failure point by not using preprintProvider.asset
- Add special casing to address nutrixiv's navbar color https://osf.io/preprints/nutrixiv/

- Remove use of ThemeStyles from preprint (this set the navbar logo to use the preprintProvider.asset. square_color_transparent, when we want to just use the brand. topnavLogoImage going forward)
- Add special case for nutrixiv to use a white background similar to biohackrxiv

* Test prerpint discover page

* Group CR feedback re: search-page component arguments

* Added new preprints index to the new branch

* Added translation strings

* Fixed a rebase

* Rebase fix

* Removed the add-ons and moved search-help-modal to osf-components

* Fixed a merge conflict

* Fixed a few git merge conflicts

* Added more logic to get the page to render

* Added the taxonomy top list component and integrated it into the index page

* Updates to the preprints template file to remove bootstrap

* Fixed the css for the taxonomy-top-list

* Removed an unnecessary import for analytics

* Added more information for the providers

* Added the advisory board attribute

* Finished the html transformation for preprints

* Fixed the routing to use a single template

* Updates to remove unused variables and added branding

* Fixed the css for the steering committee

* Updates for comments from PR

* Fixed some css and updated the mirage for global classes

* Updates for branding

* Added more styling for mobile

* Added more information for preprints

* Added more information for the taxomony

* Added a branded footer for preprints

* Fixed the preprint provider logic ... again

* Fixed the branded header search

* Fixed the page title logic

* Removed useless test

* Move preprint specific components to the app/preprints/-components

* Added taxonomy tests

* Added another test

* Added another test

* Added additional tests for the branded header

* Added Branded footer tests

* Pruned an unused providerModel from the branded-header

* Added more tests

* Added a test file

* Added the initial template and attempt to have it compiled

* Added the controller and the styles -- first pass

* Added a router and continued to clean-up the controller

* Removed chronos

* Fixed an the computed and actions

* Cleaned-up computed method

* Removed unused route code

* Added routing and a factory to mirage for preprints

* Fixed the routing, mirage and prototyped the model is working

* Initial steps to update the template

* mirage updates

* Updated users to have html link

* Added logic to have the contributors displayed using the pre-build component

* Updates for preprint details

* Added more details for the preprint details page

* Added information for the primaryFile

* Added the ability to display a pdf from a local assets

* Finished the abstract section

* Added the license information

* Added some miscellaneous logic for licenses

* Added original date published

* Added tags to the preprint detail page

* Added citations and a lot of stuff that I have no idea about without Futa

* Added the preprint doi

* Added the supplemental material

* Added the download option, with metrics

* Initial work on the social icons

* Added the plaudit widget

* Added the final touches for mobile views

* Initial pass for withdrawn preprints

* Initial commit for the preprint-status-banner component

* Additional refactors to bring the ts file up-to-date with latest ember

* Added a current state icon method

* Refactored all the constants to be typescript compatible

* Appears the preprint status banner will now compile

* Fixed mirage logic and some refactors

* Added more styling and translations

* Added a bunch of serializer, mirage and scenario logic

* Added a bunch of mirage love

* Finished all the conditional statements for the details page

* Fixing scenarios with contributors

* Finished adding all the preprint checks

* refactored the doi to be a stand-alone component

* Renamed doi to be preprint-doi

* Added the preprint-license

* Added the tombstone page

* Added the preprint disciplines component

* pruned some code

* Converted the preprint-tag page

* added the tombstone component

* Added the abstract component and refactored the tombstone and detail page

* Added the initial author-assertions

* Added the preprint assertion link

* Fixed the css for author assertions, coi and data

* Finished author assertion for pre registration links

* Removed unecessary comments

* Fixed a few issues recommended by Futa after the mega-merge

* Fixed pagination for branded preprint provider, added a provider without an image for a use case that eric is presenting

* Removed all the `import config from ember-get-config`

* Removed some comments

* Removed some commentted out router code

* Defined the data-test

* Removed a bootstrap and eslint-ignore

* Removed comments

* Removed an unnecessary max-len

* Removed comments

* Removed comments

* Fixed a length and added an enum

* Added enums to a model

* Renamed a method

* Removed a stale file

* Refactor the brandedProvider store call

* Refactored a template file

* Pruned translation strings

* Removed a comment

* Enum name change

* Updated the inverse to be target on preprint files

* removed the preprint-tag/component

* Removed the tombstone component

* Changed String to string

* Changed String to string - Part II

* Refactored a string to be an enum

* endingWithdrawal to pendingWithdrawal

* Removed the preprint-assertion-link component

* Removed the branded-footer component

* Refactored some comments and enums

* Added a better IRI based filter

* Pruned unused code

* Fixed a translation string name

* Removed unnecessary branded navbar params

* Fixed a return enum from the api

* Moved old unused code

* Added the metric start date to the controller and environment

* Fixed an overly aggressive find/replace and commented out code

* Fixed the query on the taxonomy-top-list component

* fixed the belongsTo relationship on a file

* made the branded header search placeholder dynamic

* Removed the abstractDoi from the preprint doi url

* Removed the abstractDoi from the article

* Fixed the branded footer

* Preprint review action prototype

* Updated the reviewActions for the Preprint model

* change LinkTo element parameter

* fix branded header tests

* fix taxonomy-top-list tests

* fix branded header test

* Updated the abstract template to use expandable-preview and removed the component

* set inverse to null

* Fixed build issues

* fix preprint routing

* attempt

* try this

* Removed the bibiliographic stuff and added feature switches for M1 chips

* Better fix for adapters

* Revert "Better fix for adapters"

This reverts commit da03639.

* Revert "Removed the bibiliographic stuff and added feature switches for M1 chips"

This reverts commit 4344e41.

* Remvoed bibliographicContributors

* Fixed the edit link

* Added the fix for the search button

* Fixed the routing for osf and branded providers

* Fixed an issue with theme.reset

* Removed button

* pruning code

* Use gray background for preprint detail

* Show preprint as active service

* Use config for donate link

* Add different set of navbar links for preprints

* Fixed the routing for /preprints/<guid>

* Fix for Yuhuai

* Update for Yuhuai

* Fixed the plaudit env variables

* Fixed the branded footer link for preprints (CenterForOpenScience#2059)

* Added mobile logic to the author assetions

* Fixed the styles for the status banner

* Fixed the css will be non-biased

* This did need a text-align: center

* Allow provider-specfic default citation styles (CenterForOpenScience#2056)

* Fix branded navbar colors for mobile (CenterForOpenScience#2060)

* Fix branded navbar colors for mobile

* Less whacky css rules

* Fix link to my-preprints

* Fixed a link

* Fixed the logic for preprints with a coi of null

* Preprint metadata (CenterForOpenScience#2065)

* Avoid double-loading citation fixture

* Add logic to add metadata to head for preprint detail

* Updates to fix the text on the branded search page

* Move favicon logic to parent route

* Fix copy-pasta

* Lint

---------

Co-authored-by: futa-ikeda <51409893+futa-ikeda@users.noreply.github.com>
Co-authored-by: Futa Ikeda <futa.ikeda@gmail.com>
Co-authored-by: Brian Pilati <brianpilati@cos.io>
Co-authored-by: Lord Business <113387478+bp-cos@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants