1 | "use strict";
|
2 | var __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 | };
|
8 | var __metadata = (this && this.__metadata) || function (k, v) {
|
9 | if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
10 | };
|
11 | var core_1 = require('@angular/core');
|
12 | var router_1 = require('@angular/router');
|
13 | var _ = require('lodash');
|
14 | var current_api_1 = require('./current-api');
|
15 | var step_utils_1 = require('./step-utils');
|
16 | var 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 | }());
|
66 | exports.ApiVersionsList = ApiVersionsList;
|
67 |
|
\ | No newline at end of file |