UNPKG

3.27 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 core_1 = require('@angular/core');
12var router_1 = require('@angular/router');
13var _ = require('lodash');
14var current_api_1 = require('./current-api');
15var step_utils_1 = require('./step-utils');
16var ApiVersionsList = (function () {
17 function ApiVersionsList(utils, activated, router, parentRoute) {
18 this.utils = utils;
19 this.activated = activated;
20 this.router = router;
21 this.parentRoute = parentRoute;
22 }
23 ApiVersionsList.prototype.createLink = function (version) {
24 var urlSuffix = '';
25 if (this.apiData.isStaticApi) {
26 urlSuffix = version.files[0].urlName;
27 }
28 else {
29 var apiDef = this.apiData.apiDefinition;
30 var names = _.without.apply(_, [_.map(apiDef.files, function (item) { return item.apiTitle; })].concat((version.exclude || [])));
31 urlSuffix = names[0];
32 }
33 return this.utils.createAbsoluteLink('../../' + version.name + '/' + urlSuffix, this.parentRoute.firstChild);
34 };
35 ApiVersionsList.prototype.isCurrent = function (url) {
36 return this.router.url === url;
37 };
38 ApiVersionsList.prototype.getVersionsList = function () {
39 if (this.apiData.isStaticApi) {
40 return _.map(this.apiData.apiDefinition.apis, function (item) {
41 return Object.assign({
42 name: item.version
43 }, item);
44 });
45 }
46 else {
47 return this.apiData.apiDefinition.versions;
48 }
49 };
50 ApiVersionsList.prototype.ngOnInit = function () {
51 var _this = this;
52 this.activated.api.subscribe(function (data) {
53 _this.apiData = data;
54 });
55 };
56 ApiVersionsList = __decorate([
57 core_1.Component({
58 selector: 'api-versions-list',
59 template: "\n<ul *ngIf=\"apiData\" class=\"apis-versions-list\">\n <li class=\"api-version-list-item\" *ngFor=\"let version of getVersionsList();\" [ngClass]=\"{'active-step': isCurrent(createLink(version))}\">\n <a class=\"version-link\" [href]=\"createLink(version)\">{{version.visibleName || version.name}}</a>\n </li>\n</ul>"
60 }),
61 core_1.Injectable(),
62 __metadata('design:paramtypes', [step_utils_1.StepsUtils, current_api_1.ActivatedApi, router_1.Router, router_1.ActivatedRoute])
63 ], ApiVersionsList);
64 return ApiVersionsList;
65}());
66exports.ApiVersionsList = ApiVersionsList;
67//# sourceMappingURL=api-versions-list.component.js.map
\No newline at end of file