Skip to content

Instantly share code, notes, and snippets.

View jplemieux66's full-sized avatar

Jean-Philippe Lemieux jplemieux66

View GitHub Profile
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/switchMap';
import 'rxjs/add/operator/mergeMap';
EffectsModule.forFeature([ ProjectEffects ])
import { CommonModule } from '@angular/common';
import { HttpClientModule } from '@angular/common/http';
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { EffectsModule } from '@ngrx/effects';
import { StoreModule } from '@ngrx/store';
import { StoreDevtoolsModule } from '@ngrx/store-devtools';
import { environment } from '../environments/environment';
import { Action } from '@ngrx/store';
import { ProjectsDetails } from '../../../shared/model/user-projects-details';
export const LOAD_PROJECTS_DETAILS = '[Projects] Load Projects Details';
export const LOAD_PROJECTS_DETAILS_SUCCESS = '[Projects] Load Projects Details Success';
export const LOAD_PROJECTS_DETAILS_ERROR = '[Projects] Load Projects Details Error';
export class LoadProjectsDetails implements Action {
readonly type = LOAD_PROJECTS_DETAILS;
import { ProjectsDetails } from '../../../shared/model/user-projects-details';
export interface State extends ProjectsDetails { }
export const initialState: State = {
projects: [],
projectsUsers: [],
timeEntries: [],
};
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { ProjectsDetails } from '../../../shared/model/user-projects-details';
import { createCommonHeaders } from '../../utils/httpHeaderUtils';
import { ProjectsModule } from '../projects.module';
@Injectable({
providedIn: ProjectsModule,
ng generate service projects/services/projects
"api-server": "./node_modules/.bin/ts-node ./src/server/server.ts"
<div class="container">
<h1>Projects</h1>
<week-picker
(onWeekSelectedChanged)="weekSelectedChanged($event)"
[currentlySelectedWeek]="selectedWeekInfo$ | async">
</week-picker>
</div>
import { Component } from '@angular/core';
import { Store } from '@ngrx/store';
import { Observable } from 'rxjs/Observable';
import { ChangeSelectedWeek } from '../../actions/dates';
import { WeekInfo } from '../../models/week-info.model';
import * as fromProjects from '../../reducers';
@Component({
selector: 'projects-panel',