File

src/app/ui/wizard/wizard.service.ts

Index

Properties
Methods

Constructor

constructor(store: Store)
Parameters :
Name Type Optional
store Store<fromUi.UiState> No

Methods

Public goOn
goOn(data: any, index: number, nextIndex: number)
Parameters :
Name Type Optional
data any No
index number No
nextIndex number No
Returns : void
Public putInError
putInError(error: string)
Parameters :
Name Type Optional
error string No
Returns : void
Public putOnHold
putOnHold(message?: string)
Parameters :
Name Type Optional
message string Yes
Returns : void
Public removeFromError
removeFromError()
Returns : void
Public removeFromWaiting
removeFromWaiting()
Returns : void
Public reset
reset()
Returns : void
Public updateStep
updateStep(data: any, index: number)
Parameters :
Name Type Optional
data any No
index number No
Returns : void

Properties

Public state
state: WizardState
Type : WizardState
Public stepper
stepper: MatStepper
Type : MatStepper
import { Injectable } from "@angular/core";
import { MatStepper } from "@angular/material";

import { Store, select } from '@ngrx/store';

import * as fromUi from '../models/reducers';
import { WizardActionTypes } from '../models/actions/wizard.actions';
import { WizardState } from "../models/reducers/wizard.reducer";

@Injectable() export class WizardService {

    public state: WizardState;

    public stepper: MatStepper;

    constructor(private store: Store<fromUi.UiState>) {
        this.store.pipe(select(fromUi.wizardState)).subscribe((state: WizardState) => {
            this.state = state;
        });
    }

    public reset(): void {
        // Stepper.
        this.stepper.reset();
        // UI state.
        this.store.dispatch({
            type: WizardActionTypes.Reset
        });
    }

    public updateStep(data: any, index: number): void {
        this.store.dispatch({
            type: WizardActionTypes.StepChanged,
            payload: { step: { data: data }, index: index }
        });
    }

    public putInError(error: string): void {
        this.store.dispatch({
            type: WizardActionTypes.StepError,
            payload: error
        });
    }

    public putOnHold(message?: string): void {
        this.store.dispatch({
            type: WizardActionTypes.StepPending,
            payload: message || true
        });
    }

    public removeFromError(): void {
        this.store.dispatch({
            type: WizardActionTypes.StepError,
            payload: null
        });
    }

    public removeFromWaiting(): void {
        this.store.dispatch({
            type: WizardActionTypes.StepPending,
            payload: false
        });
    }

    public goOn(data: any, index: number, nextIndex: number): void {
        this.store.dispatch({
            type: WizardActionTypes.GoOn,
            payload: { step: { data: data }, index: index, nextIndex: nextIndex }
        });
    }

}

result-matching ""

    No results matching ""