/*
 * Copyright 2017-2018 IBM Corporation
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import { Injectable } from '@angular/core';
import { Title } from '@angular/platform-browser';


@Injectable()
export class AppService {

  baseTitle = 'IBM Deep Learning Platform';
  titleSeparator = ' | ';

  constructor(private titleService: Title) {
  }

  inferTitleFromUrl(url: string) {
    const relativeUrl = url.replace(/^\/|\/$/g, '');
    let newTitle = '';
    if (relativeUrl) {
      newTitle += relativeUrl.split('/').map(word => word.length ? word[0].toUpperCase() + word.substring(1)
        : word).join(' ');
    }
    this.setTitle(newTitle);
  }

  setTitle(title: string) {
    let newTitle = '';
    if (title) {
      newTitle += `${title}${this.titleSeparator}`;
    }
    newTitle += this.baseTitle;
    this.titleService.setTitle(newTitle);
  }

  getTitle() {
    return this.titleService.getTitle();
  }

}
