File

src/app/modules/loader/loader.model.ts

Index

Properties
Methods

Properties

closable
closable:
Default value : false
completion
completion: CompletionState
Type : CompletionState
Private defaultMessage
defaultMessage: string
Type : string
Default value : 'Loading...'
Private message
message: string
Type : string
Default value : this.defaultMessage
states
states: object
Type : object
Default value : { visibility: VisibilityState, completion: CompletionState }
visibility
visibility: VisibilityState
Type : VisibilityState

Methods

close
close()
Returns : void
error
error(message: string)
Parameters :
Name Type Optional
message string No
Returns : void
setMessage
setMessage(message: string)
Parameters :
Name Type Optional
message string No
Returns : void
setVisibility
setVisibility(value: boolean)
Parameters :
Name Type Optional
value boolean No
Returns : void
success
success(message: string)
Parameters :
Name Type Optional
message string No
Returns : void
enum VisibilityState {
  VISIBLE,
  HIDDEN
}

enum CompletionState {
  NONE,
  SUCCESS,
  ERROR
}

export class LoaderModel {
  private defaultMessage: string = 'Loading...';
  private message: string = this.defaultMessage;

  closable = false;
  states = {
    visibility: VisibilityState,
    completion: CompletionState
  };

  visibility: VisibilityState;
  completion: CompletionState;

  setVisibility(value: boolean) {
    this.completion = this.states.completion.NONE;
    this.visibility = value
      ? this.states.visibility.VISIBLE
      : this.states.visibility.HIDDEN;
    this.closable = !value;
  }

  setMessage(message: string) {
    if (message) {
      this.message = message;
    } else {
      this.message = this.defaultMessage;
    }
  }

  success(message: string) {
    if (!message || message.length < 1) {
      return;
    }
    this.message = message;
    this.completion = this.states.completion.SUCCESS;
    this.visibility = this.states.visibility.VISIBLE;
    this.closable = true;
  }

  error(message: string) {
    if (!message || message.length < 1) {
      return;
    }
    this.message = message;
    this.completion = this.states.completion.ERROR;
    this.visibility = this.states.visibility.VISIBLE;
    this.closable = true;
  }

  close() {
    if (this.closable) {
      this.message = null;
      this.completion = this.states.completion.NONE;
      this.visibility = this.states.visibility.HIDDEN;
    }
  }
}

result-matching ""

    No results matching ""