Skip to content
Snippets Groups Projects
deposit-view.component.ts 1.48 KiB
Newer Older
import {ChangeDetectionStrategy, Component, OnInit} from '@angular/core';
Florent Poittevin's avatar
Florent Poittevin committed
import {MatDialog} from '@angular/material';
import {GetAll} from '@app/deposit/deposit.action';
import {DepositStateModel} from '@app/deposit/deposit.state';
import {RoutesEnum} from '@app/enums/routes.enum';
import {DepositsModel} from '@app/generated-api';
Florent Poittevin's avatar
Florent Poittevin committed
import {faCoffee} from '@fortawesome/free-solid-svg-icons';
import {Navigate} from '@ngxs/router-plugin';
import {Select, Store} from '@ngxs/store';
import {Observable} from 'rxjs';

@Component({
  selector: 'dlcm-deposit-view',
  templateUrl: './deposit-view.component.html',
  styleUrls: ['./deposit-view.component.scss'],
  changeDetection: ChangeDetectionStrategy.OnPush,
})
export class DepositViewComponent implements OnInit {
Florent Poittevin's avatar
Florent Poittevin committed
  faCoffee = faCoffee;

  @Select((state) => ((state.deposit) as DepositStateModel).isLoading) isLoading$: Observable<boolean>;
  @Select((state) => ((state.deposit) as DepositStateModel).deposits) deposits$: Observable<DepositsModel[]>;
Florent Poittevin's avatar
Florent Poittevin committed
  constructor(private store: Store, public dialog: MatDialog) {
    this.getAll();
  }

  getAll() {
    this.store.dispatch(new GetAll());
  }

  createNewDeposit() {
    // const dialogRef = this.dialog.open(CreateDepositContainerComponent, {
    //   height: '400px',
    //   width: '600px',
    // });
    this.store.dispatch(new Navigate([RoutesEnum.depositCreate]));

  showDetail(resId: string) {
    this.store.dispatch(new Navigate([RoutesEnum.depositDetail, resId]));
  }