44988: started search page sidebar

This commit is contained in:
Lotte Hofstede
2017-10-06 17:09:18 +02:00
parent 31acc29e29
commit 90186b867c
10 changed files with 113 additions and 8 deletions

View File

@@ -1,9 +1,14 @@
<div class="search-page"> <div class="search-page">
<ds-search-sidebar></ds-search-sidebar>
<div id="search-content">
<ds-search-form <ds-search-form
[query]="query" [query]="query"
[scope]="scopeObject?.payload | async" [scope]="scopeObject?.payload | async"
[currentParams]="currentParams" [currentParams]="currentParams"
[scopes]="scopeList?.payload"> [scopes]="scopeList?.payload">
</ds-search-form> </ds-search-form>
<ds-search-results [searchResults]="results" [searchConfig]="searchOptions"></ds-search-results> <ds-search-view-switch [active]="true" [resultCount]="124" class="d-block d-md-none"></ds-search-view-switch>
<ds-search-results [searchResults]="results"
[searchConfig]="searchOptions"></ds-search-results>
</div>
</div> </div>

View File

@@ -1 +1,9 @@
@import '../../styles/variables.scss'; @import '../../styles/variables.scss';
@import '../../styles/mixins.scss';
#search-content {
margin-left: $search-sidebar-width;
@include media-breakpoint-down(sm) {
margin-left: 0;
}
}

View File

@@ -12,6 +12,8 @@ import { ItemSearchResultListElementComponent } from '../object-list/search-resu
import { CollectionSearchResultListElementComponent } from '../object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component'; import { CollectionSearchResultListElementComponent } from '../object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component';
import { CommunitySearchResultListElementComponent } from '../object-list/search-result-list-element/community-search-result/community-search-result-list-element.component'; import { CommunitySearchResultListElementComponent } from '../object-list/search-result-list-element/community-search-result/community-search-result-list-element.component';
import { SearchService } from './search-service/search.service'; import { SearchService } from './search-service/search.service';
import { SearchSidebarComponent } from './search-sidebar/search-sidebar.component';
import { SearchViewSwitchComponent } from './search-view-switch/search-view-switch.component';
@NgModule({ @NgModule({
imports: [ imports: [
@@ -24,6 +26,8 @@ import { SearchService } from './search-service/search.service';
declarations: [ declarations: [
SearchPageComponent, SearchPageComponent,
SearchResultsComponent, SearchResultsComponent,
SearchSidebarComponent,
SearchViewSwitchComponent,
ItemSearchResultListElementComponent, ItemSearchResultListElementComponent,
CollectionSearchResultListElementComponent, CollectionSearchResultListElementComponent,
CommunitySearchResultListElementComponent CommunitySearchResultListElementComponent

View File

@@ -0,0 +1,4 @@
<div id="search-sidebar">
<div id="filter1"></div>
<div id="filter2"></div>
</div>

View File

@@ -0,0 +1,26 @@
@import '../../../styles/variables.scss';
@import '../../../styles/mixins.scss';
:host {
display: block;
position: fixed;
background-color: red;
width: $search-sidebar-width;
padding: $spacer;
#filter1, #filter2 {
width: 100%;
}
#filter1 {
height: 300px;
background-color: yellow;
}
#filter2 {
height: 200px;
background-color: green;
}
@include media-breakpoint-down(sm) {
width: 100%;
display: none;
}
}

View File

@@ -0,0 +1,19 @@
import { Component } from '@angular/core';
/**
* This component renders a simple item page.
* The route parameter 'id' is used to request the item it represents.
* All fields of the item that should be displayed, are defined in its template.
*/
@Component({
selector: 'ds-search-sidebar',
styleUrls: ['./search-sidebar.component.scss'],
templateUrl: './search-sidebar.component.html',
})
export class SearchSidebarComponent {
constructor() {
console.log('test');
}
}

View File

@@ -0,0 +1,10 @@
<div id="search-view-switch">
<div *ngIf="!active" class="inactive-menu">
<span class="view-option-switch">TODO</span>
<button class="btn btn-outline-primary float-right"(click)="switchView(true)"><i class="fa fa-sliders"></i> {{"search.view-switch.open-sidebar" | translate}}</button>
</div>
<div *ngIf="active" class="active-menu">
<span class="results">{{resultCount}}</span>
<button class="btn btn-outline-primary float-right" (click)="switchView(false)"><i class="fa fa-arrow-right"></i> {{"search.view-switch.close-sidebar" | translate}}</button>
</div>
</div>

View File

@@ -0,0 +1,3 @@
@import '../../../styles/variables.scss';
@import '../../../styles/mixins.scss';

View File

@@ -0,0 +1,25 @@
import { Component, Input } from '@angular/core';
/**
* This component renders a simple item page.
* The route parameter 'id' is used to request the item it represents.
* All fields of the item that should be displayed, are defined in its template.
*/
@Component({
selector: 'ds-search-view-switch',
styleUrls: ['./search-view-switch.component.scss'],
templateUrl: './search-view-switch.component.html',
})
export class SearchViewSwitchComponent {
@Input() resultCount;
@Input() active;
constructor() {
console.log('test');
}
switchView(b: boolean) {
this.active = b;
}
}

View File

@@ -1 +1,2 @@
$content-spacing: $spacer * 1.5; $content-spacing: $spacer * 1.5;
$search-sidebar-width: 300px;