UNPKG

loop-modules

Version:

Shared modules for the Loop product suite.

66 lines (56 loc) 2.38 kB
// angular import { Injectable } from '@angular/core'; import { Http } from '@angular/http'; // libs import { BehaviorSubject } from 'rxjs/BehaviorSubject'; import { Observable } from 'rxjs/Observable'; // app import { LoopUserService } from './loop-user.service'; import { EmployeeService } from './employee.service'; import { LoopActivityService } from './loop-activity.service'; import { LoopTrendingActivityService } from './loop-trending-activity.service'; import { LoopActivityMessageService } from './loop-activity-message.service'; import { LoopAssignmentService } from './loop-assignment.service'; import { LoopScenarioService } from './loop-scenario.service'; import { LoopTopicService } from './loop-topic.service'; import { LoopDocumentService } from './loop-document.service'; import { LoopSessionService } from './loop-session.service'; import { MediaService } from './media-service.service'; @Injectable() export class CoreService { search$: Observable<string>; private _searchSource: BehaviorSubject<string> = new BehaviorSubject<string>(''); constructor( public http: Http, public activityMessages: LoopActivityMessageService, public users: LoopUserService, public assignments: LoopAssignmentService, public scenarios: LoopScenarioService, public topics: LoopTopicService, public documents: LoopDocumentService, public sessions: LoopSessionService, public employees: EmployeeService, public activities: LoopActivityService, public trendingActivities: LoopTrendingActivityService, public media: MediaService) { this.search$ = this._searchSource.asObservable(); } onSearch(searchPhrase: string) { this._searchSource.next(searchPhrase); } get config() { return this.http.get('ma_core/api/v2/configuration').map(res => res.json()); } get uuid(): string { var d = new Date().getTime(); if(window.performance && typeof window.performance.now === 'function') { d += performance.now(); } var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { var r = (d + Math.random()*16)%16 | 0; d = Math.floor(d/16); return (c === 'x' ? r : (r&0x3|0x8)).toString(16); }); return uuid; } }