mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-13 21:13:07 +00:00
Merge branch 'hal-serializer' into rest-services
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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: [
|
||||
|
||||
@@ -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
|
||||
]
|
||||
|
||||
9
src/app/core/footer/footer.component.html
Normal file
9
src/app/core/footer/footer.component.html
Normal 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>
|
||||
17
src/app/core/footer/footer.component.scss
Normal file
17
src/app/core/footer/footer.component.scss
Normal 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;
|
||||
}
|
||||
}
|
||||
60
src/app/core/footer/footer.component.spec.ts
Normal file
60
src/app/core/footer/footer.component.spec.ts
Normal 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();
|
||||
}));
|
||||
|
||||
});
|
||||
18
src/app/core/footer/footer.component.ts
Normal file
18
src/app/core/footer/footer.component.ts
Normal 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 {
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user