Skip to content
Snippets Groups Projects
Commit 7eeb426c authored by Florent Poittevin's avatar Florent Poittevin
Browse files

Add modal

parent 82bcd3ea
No related branches found
No related tags found
1 merge request!3Develop
Showing
with 76 additions and 9 deletions
import {Component, Input, OnInit} from '@angular/core'; import {Component, Input, OnInit} from '@angular/core';
import {DepositsModel} from '@app/generated-api'; import {DepositsModel} from '@app/generated-api';
import {PrimeNgColumnsModel} from '@app/shared/model/prime-ng-columns.model';
@Component({ @Component({
selector: 'dlcm-table-deposits', selector: 'dlcm-table-deposits',
...@@ -10,12 +11,14 @@ export class TableDepositsComponent implements OnInit { ...@@ -10,12 +11,14 @@ export class TableDepositsComponent implements OnInit {
@Input() @Input()
deposits: DepositsModel[]; deposits: DepositsModel[];
cols: any[]; cols: PrimeNgColumnsModel[];
constructor() { constructor() {
} }
ngOnInit() { ngOnInit() {
// TODO Use typeof to get interface propertie name
// TODO Use ngx translate
this.cols = [ this.cols = [
{field: 'title', header: 'Titre'}, {field: 'title', header: 'Titre'},
{field: 'publicationDate', header: 'Date de publication'}, {field: 'publicationDate', header: 'Date de publication'},
......
<p>
create-deposit-container works!
</p>
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { CreateDepositContainerComponent } from './create-deposit-container.component';
describe('CreateDepositContainerComponent', () => {
let component: CreateDepositContainerComponent;
let fixture: ComponentFixture<CreateDepositContainerComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ CreateDepositContainerComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(CreateDepositContainerComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
import {Component, OnInit} from '@angular/core';
import {MatDialogRef} from '@angular/material';
@Component({
selector: 'dlcm-create-deposit-container',
templateUrl: './create-deposit-container.component.html',
styleUrls: ['./create-deposit-container.component.scss'],
})
export class CreateDepositContainerComponent implements OnInit {
constructor(public dialogRef: MatDialogRef<CreateDepositContainerComponent>) {
}
ngOnInit() {
}
}
...@@ -6,19 +6,24 @@ import {DepositViewComponent} from '@app/deposit/views/deposit-view/deposit-view ...@@ -6,19 +6,24 @@ import {DepositViewComponent} from '@app/deposit/views/deposit-view/deposit-view
import {SharedModule} from '@app/shared/shared.module'; import {SharedModule} from '@app/shared/shared.module';
import {TranslateModule} from '@ngx-translate/core'; import {TranslateModule} from '@ngx-translate/core';
import {NgxsModule} from '@ngxs/store'; import {NgxsModule} from '@ngxs/store';
import { TableDepositsComponent } from './components/table-deposits/table-deposits.component'; import {TableDepositsComponent} from './components/table-deposits/table-deposits.component';
import {CreateDepositContainerComponent} from './containers/create-deposit-container/create-deposit-container.component';
const components = [];
const views = [ const views = [
DepositViewComponent, DepositViewComponent,
]; ];
const containers = [
CreateDepositContainerComponent,
];
const components = [
TableDepositsComponent,
];
@NgModule({ @NgModule({
declarations: [ declarations: [
...components,
...views, ...views,
TableDepositsComponent, ...containers,
...components,
], ],
imports: [ imports: [
SharedModule, SharedModule,
...@@ -28,8 +33,12 @@ const views = [ ...@@ -28,8 +33,12 @@ const views = [
DepositState, DepositState,
]), ]),
], ],
entryComponents: [
CreateDepositContainerComponent,
],
exports: [ exports: [
...views, ...views,
...containers,
], ],
providers: [ providers: [
DepositService, DepositService,
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
<button mat-flat-button color="secondary" (click)="getAll()">Refresh</button> <button mat-flat-button color="secondary" (click)="getAll()">Refresh</button>
<dlcm-table-deposits [deposits]="deposits$ | async"></dlcm-table-deposits> <dlcm-table-deposits [deposits]="deposits$ | async"></dlcm-table-deposits>
<mat-spinner *ngIf="(isLoading$ | async)"></mat-spinner> <mat-spinner *ngIf="(isLoading$ | async)"></mat-spinner>
import {Component, OnInit} from '@angular/core'; import {Component, OnInit} from '@angular/core';
import {MatDialog} from '@angular/material';
import {CreateDepositContainerComponent} from '@app/deposit/containers/create-deposit-container/create-deposit-container.component';
import {GetAll} from '@app/deposit/deposit.action'; import {GetAll} from '@app/deposit/deposit.action';
import {DepositStateModel} from '@app/deposit/deposit.state'; import {DepositStateModel} from '@app/deposit/deposit.state';
import {DepositsModel} from '@app/generated-api'; import {DepositsModel} from '@app/generated-api';
...@@ -17,7 +19,7 @@ export class DepositViewComponent implements OnInit { ...@@ -17,7 +19,7 @@ export class DepositViewComponent implements OnInit {
@Select((state) => ((state.deposit) as DepositStateModel).isLoading) isLoading$: Observable<boolean>; @Select((state) => ((state.deposit) as DepositStateModel).isLoading) isLoading$: Observable<boolean>;
@Select((state) => ((state.deposit) as DepositStateModel).deposits) deposits$: Observable<DepositsModel[]>; @Select((state) => ((state.deposit) as DepositStateModel).deposits) deposits$: Observable<DepositsModel[]>;
constructor(private store: Store) { constructor(private store: Store, public dialog: MatDialog) {
} }
ngOnInit() { ngOnInit() {
...@@ -29,6 +31,9 @@ export class DepositViewComponent implements OnInit { ...@@ -29,6 +31,9 @@ export class DepositViewComponent implements OnInit {
} }
addDeposit() { addDeposit() {
const dialogRef = this.dialog.open(CreateDepositContainerComponent, {
height: '400px',
width: '600px',
});
} }
} }
import {NgModule} from '@angular/core'; import {NgModule} from '@angular/core';
import { import {
MatButtonModule, MatButtonModule,
MatDialogModule,
MatInputModule, MatInputModule,
MatProgressSpinnerModule, MatProgressSpinnerModule,
MatSnackBarModule, MatSnackBarModule,
...@@ -15,6 +16,7 @@ const modules = [ ...@@ -15,6 +16,7 @@ const modules = [
MatInputModule, MatInputModule,
MatButtonModule, MatButtonModule,
MatSnackBarModule, MatSnackBarModule,
MatDialogModule,
]; ];
@NgModule({ @NgModule({
......
export interface PrimeNgColumnsModel {
field: string;
header: string;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment