UNPKG

2.68 kBJavaScriptView Raw
1"use strict";
2var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6 return c > 3 && r && Object.defineProperty(target, key, r), r;
7};
8var __metadata = (this && this.__metadata) || function (k, v) {
9 if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10};
11var __param = (this && this.__param) || function (paramIndex, decorator) {
12 return function (target, key) { decorator(target, key, paramIndex); }
13};
14var core_1 = require('@angular/core');
15var platform_browser_1 = require('@angular/platform-browser');
16var _ = require('lodash');
17var striptags = require('striptags');
18var PageTitleService = (function () {
19 function PageTitleService(document) {
20 this.document = document;
21 }
22 PageTitleService.prototype.setTitle = function (title) {
23 this.document.title = title;
24 };
25 PageTitleService.prototype.setBasePath = function (base) {
26 var baseTag = _.filter(this.document.head.children, function (tag) {
27 return tag.name === 'base';
28 })[0];
29 if (baseTag) {
30 baseTag['attribs']['href'] = base;
31 }
32 };
33 PageTitleService.prototype.getMetaItem = function (name) {
34 return _.filter(this.document.head.children, function (tag) {
35 return tag.name === 'meta' && tag.attribs['name'] === name;
36 })[0];
37 };
38 PageTitleService.prototype.setSeoDescription = function (desc) {
39 var descriptionTag = this.getMetaItem('description');
40 if (descriptionTag) {
41 descriptionTag['attribs']['content'] = striptags(desc).replace(/(\r\n|\n|\r)/gm, ' ').substring(0, 150);
42 }
43 };
44 PageTitleService.prototype.addKeywords = function (keys) {
45 var tag = this.getMetaItem('keywords');
46 if (tag) {
47 tag['attribs']['content'] = tag['attribs']['content'] + ', ' + keys.join(', ');
48 }
49 };
50 PageTitleService = __decorate([
51 core_1.Injectable(),
52 __param(0, core_1.Inject(platform_browser_1.DOCUMENT)),
53 __metadata('design:paramtypes', [Object])
54 ], PageTitleService);
55 return PageTitleService;
56}());
57exports.PageTitleService = PageTitleService;
58//# sourceMappingURL=page-title.service.js.map
\No newline at end of file