From 9bde1a99445a3b7e3547564841466504565e0bdf Mon Sep 17 00:00:00 2001 From: Zacharias Zacharodimos Date: Tue, 2 Jun 2020 11:39:26 +0200 Subject: [PATCH] fix various styling issues * Fixes header search bar in search and records search * Fixes community padding from header --- .../js/invenio_communities/records_search.js | 49 ++++++++++++++++--- .../js/invenio_communities/search.js | 41 +++++++++++++++- .../scss/invenio_communities/theme.scss | 2 +- .../invenio_communities/header.html | 4 +- 4 files changed, 85 insertions(+), 11 deletions(-) diff --git a/invenio_communities/assets/semantic-ui/js/invenio_communities/records_search.js b/invenio_communities/assets/semantic-ui/js/invenio_communities/records_search.js index bffe0601..c8c26e65 100644 --- a/invenio_communities/assets/semantic-ui/js/invenio_communities/records_search.js +++ b/invenio_communities/assets/semantic-ui/js/invenio_communities/records_search.js @@ -1,11 +1,11 @@ import ReactDOM from "react-dom"; import React from "react"; -import { Card, Item, Button } from "semantic-ui-react"; +import { Card, Input, Item } from "semantic-ui-react"; import _truncate from "lodash/truncate"; import { SearchApp } from "../invenio_search_ui/SearchApp"; import { overrideStore } from "react-overridable"; -export function ResultsItemTemplate({result, index}) { +export function ResultsItemTemplate({ result, index }) { return ( @@ -20,7 +20,7 @@ export function ResultsItemTemplate({result, index}) { ); } -export function ResultsGridItemTemplate({result, index}) { +export function ResultsGridItemTemplate({ result, index }) { return ( @@ -42,7 +42,7 @@ const domContainer = document.getElementById("communities-records-search"); const COMMUNITY_ID = domContainer.dataset.communityId; const searchConfig = { api: `/api/records?q=_communities.accepted.id:"${COMMUNITY_ID}"`, - mimetype: 'application/json', + mimetype: "application/json", aggs: [ { title: "Access Right", @@ -55,7 +55,7 @@ const searchConfig = { aggName: "resource_type", }, ], - sort_options:[ + sort_options: [ { text: "Best match", sortBy: "bestmatch", @@ -90,7 +90,44 @@ const searchConfig = { ], }; +// TODO: Remove after https://github.com/inveniosoftware/react-searchkit/issues/117 +// is addressed +const CommunitiesRecordsSearchBarElement = ({ + placeholder: passedPlaceholder, + queryString, + onInputChange, + executeSearch, +}) => { + const placeholder = passedPlaceholder || "Search"; + const onBtnSearchClick = () => { + executeSearch(); + }; + const onKeyPress = (event) => { + if (event.key === "Enter") { + executeSearch(); + } + }; + return ( + { + onInputChange(value); + }} + value={queryString} + onKeyPress={onKeyPress} + /> + ); +}; + +overrideStore.add("SearchBar.element", CommunitiesRecordsSearchBarElement); + ReactDOM.render( - , + , document.getElementById("communities-records-search") ); diff --git a/invenio_communities/assets/semantic-ui/js/invenio_communities/search.js b/invenio_communities/assets/semantic-ui/js/invenio_communities/search.js index 1994e462..c751e252 100644 --- a/invenio_communities/assets/semantic-ui/js/invenio_communities/search.js +++ b/invenio_communities/assets/semantic-ui/js/invenio_communities/search.js @@ -1,6 +1,6 @@ import ReactDOM from "react-dom"; import React from "react"; -import { Item, Card } from "semantic-ui-react"; +import { Input, Item, Card } from "semantic-ui-react"; import _truncate from "lodash/truncate"; import { SearchApp } from "../invenio_search_ui/SearchApp"; import { overrideStore } from "react-overridable"; @@ -28,7 +28,7 @@ function ResultsItemTemplate({ result, index }) {
+ /> @@ -87,6 +87,43 @@ const searchConfig = { ], }; +// TODO: Remove after https://github.com/inveniosoftware/react-searchkit/issues/117 +// is addressed +const CommunitiesSearchBarElement = ({ + placeholder: passedPlaceholder, + queryString, + onInputChange, + executeSearch, +}) => { + const placeholder = passedPlaceholder || "Search"; + const onBtnSearchClick = () => { + executeSearch(); + }; + const onKeyPress = (event) => { + if (event.key === "Enter") { + executeSearch(); + } + }; + return ( + { + onInputChange(value); + }} + value={queryString} + onKeyPress={onKeyPress} + /> + ); +}; + +overrideStore.add("SearchBar.element", CommunitiesSearchBarElement); + ReactDOM.render( , document.getElementById("communities-search") diff --git a/invenio_communities/assets/semantic-ui/scss/invenio_communities/theme.scss b/invenio_communities/assets/semantic-ui/scss/invenio_communities/theme.scss index 8fe85300..f3fe908b 100644 --- a/invenio_communities/assets/semantic-ui/scss/invenio_communities/theme.scss +++ b/invenio_communities/assets/semantic-ui/scss/invenio_communities/theme.scss @@ -1,7 +1,7 @@ .community-container { background-color: rgb(219, 219, 219); margin-bottom: 20px; - margin-top: -20px; + margin-top: -28px; } .underline { diff --git a/invenio_communities/templates/semantic-ui/invenio_communities/header.html b/invenio_communities/templates/semantic-ui/invenio_communities/header.html index 4d63fd24..83617cef 100644 --- a/invenio_communities/templates/semantic-ui/invenio_communities/header.html +++ b/invenio_communities/templates/semantic-ui/invenio_communities/header.html @@ -14,7 +14,7 @@ {% block sidebar %}
-
+
@@ -53,7 +53,7 @@

{{ community.title }}

New upload
-