diff --git a/src/app/+search-page/search-filters/search-filter/search-facet-filter/search-facet-filter.component.html b/src/app/+search-page/search-filters/search-filter/search-facet-filter/search-facet-filter.component.html index a21289808a..dec8ad4d12 100644 --- a/src/app/+search-page/search-filters/search-filter/search-facet-filter/search-facet-filter.component.html +++ b/src/app/+search-page/search-filters/search-filter/search-facet-filter/search-facet-filter.component.html @@ -6,13 +6,13 @@ {{value}} - - - {{value.value}} - ({{value.count}}) + + {{value.value}} + ({{value.count}})
diff --git a/src/app/+search-page/search-filters/search-filters.component.html b/src/app/+search-page/search-filters/search-filters.component.html index 5bd42928a1..7f375b1238 100644 --- a/src/app/+search-page/search-filters/search-filters.component.html +++ b/src/app/+search-page/search-filters/search-filters.component.html @@ -1,4 +1,4 @@ -

{{"search.filters.head" | translate}}

+

{{"search.filters.head" | translate}}

diff --git a/src/app/+search-page/search-page.component.html b/src/app/+search-page/search-page.component.html index a109950354..16280f0b49 100644 --- a/src/app/+search-page/search-page.component.html +++ b/src/app/+search-page/search-page.component.html @@ -1,19 +1,15 @@
-
- -
-
-
+
-
{{ 'search.sidebar.settings.title' | translate}} -
-

{{ 'search.sidebar.settings.sort-by' | translate}}

-
- + - -
+
-
-

{{ 'search.sidebar.settings.rpp' | translate}}

+
+
{{ 'search.sidebar.settings.rpp' | translate}}
-
- - -
+
diff --git a/src/app/+search-page/search-sidebar/search-sidebar.component.html b/src/app/+search-page/search-sidebar/search-sidebar.component.html index 325f557233..4c98caed0d 100644 --- a/src/app/+search-page/search-sidebar/search-sidebar.component.html +++ b/src/app/+search-page/search-sidebar/search-sidebar.component.html @@ -2,13 +2,16 @@
- - +
diff --git a/src/app/+search-page/search-sidebar/search-sidebar.component.scss b/src/app/+search-page/search-sidebar/search-sidebar.component.scss index 2b318454ed..b5bd6dd30d 100644 --- a/src/app/+search-page/search-sidebar/search-sidebar.component.scss +++ b/src/app/+search-page/search-sidebar/search-sidebar.component.scss @@ -8,4 +8,8 @@ ds-view-mode-switch { margin-bottom: $spacer; } + .sidebar-content > *:not(:last-child) { + margin-bottom: 4*$spacer; + display: block; + } } diff --git a/src/app/+search-page/search-sidebar/search-sidebar.effects.ts b/src/app/+search-page/search-sidebar/search-sidebar.effects.ts index 2894796695..b65010b6e0 100644 --- a/src/app/+search-page/search-sidebar/search-sidebar.effects.ts +++ b/src/app/+search-page/search-sidebar/search-sidebar.effects.ts @@ -3,16 +3,26 @@ import { Effect, Actions } from '@ngrx/effects' import * as fromRouter from '@ngrx/router-store'; import { SearchSidebarCollapseAction } from './search-sidebar.actions'; +import { URLBaser } from '../../core/url-baser/url-baser'; @Injectable() export class SearchSidebarEffects { - + private previousPath: string; @Effect() routeChange$ = this.actions$ .ofType(fromRouter.ROUTER_NAVIGATION) + .filter((action) => this.previousPath !== this.getBaseUrl(action)) + .do((action) => {this.previousPath = this.getBaseUrl(action)}) .map(() => new SearchSidebarCollapseAction()); constructor(private actions$: Actions) { } + getBaseUrl(action: any): string { + /* tslint:disable:no-string-literal */ + const url: string = action['payload'].routerState.url; + return new URLBaser(url).toString(); + /* tslint:enable:no-string-literal */ + } + } diff --git a/src/app/core/url-baser/url-baser.ts b/src/app/core/url-baser/url-baser.ts new file mode 100644 index 0000000000..290f91fe83 --- /dev/null +++ b/src/app/core/url-baser/url-baser.ts @@ -0,0 +1,39 @@ +import { isEmpty } from '../../shared/empty.util'; + +/** + * Extracts the base URL + * from a URL with query parameters + */ +export class URLBaser { + private original: string; + + /** + * Creates a new URLBaser + * + * @param originalURL + * a string representing the original URL with possible query parameters + */ + constructor(originalURL: string) { + this.original = originalURL; + } + + /** + * Removes the query parameters from the original URL of this URLBaser + * + * @return {string} + * The base URL + */ + toString(): string { + if (isEmpty(this.original)) { + return ''; + } else { + const index = this.original.indexOf('?'); + if (index < 0) { + return this.original; + } else { + return this.original.substring(0, index); + } + } + } + +} diff --git a/src/app/shared/route.service.ts b/src/app/shared/route.service.ts index 25f65a65c9..b11da41211 100644 --- a/src/app/shared/route.service.ts +++ b/src/app/shared/route.service.ts @@ -25,7 +25,6 @@ export class RouteService { return this.route.queryParamMap.map((map) => map.getAll(paramName).indexOf(paramValue) > -1); } - addQueryParameterValue(paramName: string, paramValue: string): Observable { return this.route.queryParams.map((currentParams) => { const newParam = {};