Merge branch 'hal-serializer' into rest-services

This commit is contained in:
Art Lowel
2017-02-16 14:43:12 +01:00
10 changed files with 159 additions and 17 deletions

View File

@@ -1,11 +1,17 @@
<ds-header></ds-header>
<div class="outer-wrapper">
<div class="inner-wrapper">
<ds-header></ds-header>
<div class="container-fluid">
<main>
<p>{{ 'example.with.data' | translate:data }}</p>
<p>{{ example }}</p>
<h2 *ngIf="!env" style="color:green">development</h2>
<h2 *ngIf="env" style="color:red">production</h2>
<router-outlet></router-outlet>
</main>
<main class="main-content">
<div class="container-fluid">
<p>{{ 'example.with.data' | translate:data }}</p>
<p>{{ example }}</p>
<h2 *ngIf="!env" style="color:green">development</h2>
<h2 *ngIf="env" style="color:red">production</h2>
<router-outlet></router-outlet>
</div>
</main>
<ds-footer></ds-footer>
</div>
</div>

View File

@@ -1 +1,18 @@
// Sticky Footer
.outer-wrapper {
display: flex;
margin: 0;
}
.inner-wrapper {
flex: 1 1 auto;
flex-flow: column nowrap;
display: flex;
min-height: 100vh;
flex-direction: column;
}
.main-content {
flex: 1 0 auto;
}

View File

@@ -1,6 +1,7 @@
import { NgModule } from '@angular/core';
import { HomeModule } from './home/home.module';
import { CoreModule } from './core/core.module';
import { HomeModule } from './home/home.module';
import { SharedModule } from './shared/shared.module';
@@ -15,7 +16,6 @@ import { StoreDevtoolsModule } from "@ngrx/store-devtools";
import { rootReducer } from './app.reducers';
import { effects } from './app.effects';
import { CoreModule } from "./core/core.module";
@NgModule({
declarations: [

View File

@@ -2,6 +2,7 @@ import { NgModule, Optional, SkipSelf, ModuleWithProviders } from '@angular/core
import { CommonModule } from '@angular/common';
import { SharedModule } from "../shared/shared.module";
import { isNotEmpty } from "../shared/empty.util";
import { FooterComponent } from "./footer/footer.component";
import { DSpaceRESTv2Service } from "./dspace-rest-v2/dspace-rest-v2.service";
import { CollectionDataService } from "./data-services/collection/collection-data.service";
import { CacheService } from "./data-services/cache/cache.service";
@@ -9,13 +10,15 @@ import { ItemDataService } from "./data-services/item/item-data.service";
const IMPORTS = [
CommonModule,
SharedModule
];
const DECLARATIONS = [
FooterComponent
];
const EXPORTS = [
FooterComponent
];
const PROVIDERS = [
@@ -41,7 +44,7 @@ export class CoreModule {
static forRoot(): ModuleWithProviders {
return {
ngModule: SharedModule,
ngModule: CoreModule,
providers: [
...PROVIDERS
]

View File

@@ -0,0 +1,9 @@
<footer class="footer">
<div class="container-fluid content-container-fluid">
<p>
<a href="http://www.dspace.org/">{{ 'footer.link.dspace' | translate}}</a>
{{ 'footer.copyright' | translate:{year : dateObj | date:'y'} }}
<a href="http://www.duraspace.org/">{{ 'footer.link.duraspace' | translate}}</a>
</p>
</div>
</footer>

View File

@@ -0,0 +1,17 @@
@import '../../../styles/variables.scss';
@import '../../../../node_modules/bootstrap/scss/_variables.scss';
$footer-bg: $gray-lighter;
$footer-border: 1px solid darken($footer-bg, 10%);
$footer-padding: $spacer * 1.5;
.footer {
background-color: $footer-bg;
border-top: $footer-border;
text-align:center;
padding: $footer-padding;
p {
margin: 0;
}
}

View File

@@ -0,0 +1,60 @@
// ... test imports
import {
async,
ComponentFixture,
inject,
TestBed
} from '@angular/core/testing';
import {
CUSTOM_ELEMENTS_SCHEMA,
DebugElement
} from "@angular/core";
import { By } from '@angular/platform-browser';
import { TranslateModule, TranslateLoader } from "ng2-translate";
import { Store, StoreModule } from "@ngrx/store";
// Load the implementations that should be tested
import { FooterComponent } from './footer.component';
import { CommonModule } from '@angular/common';
import { MockTranslateLoader } from "../../shared/testing/mock-translate-loader";
let comp: FooterComponent;
let fixture: ComponentFixture<FooterComponent>;
let de: DebugElement;
let el: HTMLElement;
describe('Footer component', () => {
// async beforeEach
beforeEach(async(() => {
return TestBed.configureTestingModule({
imports: [CommonModule, StoreModule.provideStore({}), TranslateModule.forRoot({
provide: TranslateLoader,
useClass: MockTranslateLoader
})],
declarations: [FooterComponent], // declare the test component
providers: [
FooterComponent
],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
})
}));
// synchronous beforeEach
beforeEach(() => {
fixture = TestBed.createComponent(FooterComponent);
comp = fixture.componentInstance; // component test instance
// query for the title <p> by CSS element selector
de = fixture.debugElement.query(By.css('p'));
el = de.nativeElement;
});
it('should create footer', inject([FooterComponent], (app: FooterComponent) => {
// Perform test using fixture and service
expect(app).toBeTruthy();
}));
});

View File

@@ -0,0 +1,18 @@
import { Component, OnInit } from "@angular/core";
@Component({
selector: 'ds-footer',
styleUrls: ['footer.component.css'],
templateUrl: 'footer.component.html'
})
export class FooterComponent implements OnInit {
dateObj: number = Date.now();
constructor() {
}
ngOnInit(): void {
}
}