Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { Injectable } from '@angular/core';
- import { Headers, Http } from '@angular/http';
- import "rxjs/add/operator/map";
- import "rxjs/add/observable/combineLatest";
- import { Observable } from 'rxjs/Observable';
- import * as Config from '../../config';
- @Injectable()
- export class CountryService {
- appSettings = require("application-settings");
- constructor( private _apiEndpoints: Config.ApiEndpoints,
- private _http:Http,
- private _settings:Config.Settings) {
- }
- getPhonePrefix(): Observable<Object> {
- return this._http.get(this._apiEndpoints.apiEndpoint + '/country/phone')
- .map(res => res.json());
- }
- getCountryNameAndPrefix(): Observable<Array<Config.phonePrefix>> {
- return this.getPhonePrefix().combineLatest(this.getCountryName(),
- (phoneData, nameData) => {
- let resultData:Config.phonePrefix[] = [];
- Object.keys(nameData).forEach((key) => {
- let resultItem:Config.phonePrefix = {
- countrycode: key,
- countryname: nameData[key],
- countryprefix: phoneData[key]
- };
- resultData.push(resultItem);
- resultData.sort((a,b) => {
- if(a['countryname'] < b['countryname']) {
- return -1;
- } else {
- return 1;
- }
- });
- });
- return resultData;
- });
- }
- }
- import "rxjs/add/operator/combineLatest";
Add Comment
Please, Sign In to add comment