mirror of
https://github.com/Redocly/redoc.git
synced 2024-11-24 09:33:44 +03:00
Merge commit '128b1fc1e2decb7a1a60e7ee6e03dd0762984597' into releases
This commit is contained in:
commit
b1bb8e1896
22
CHANGELOG.md
22
CHANGELOG.md
|
@ -1,3 +1,25 @@
|
||||||
|
<a name="1.15.0"></a>
|
||||||
|
# [1.15.0](https://github.com/Rebilly/ReDoc/compare/v1.14.0...v1.15.0) (2017-05-05)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* menu items not full-width on short item names ([ef1b2bd](https://github.com/Rebilly/ReDoc/commit/ef1b2bd))
|
||||||
|
* menu service subscription leak ([bb00dc3](https://github.com/Rebilly/ReDoc/commit/bb00dc3))
|
||||||
|
* openapi button: add `download` attribute ([583c571](https://github.com/Rebilly/ReDoc/commit/583c571))
|
||||||
|
* sample unavailable when no schema in response object ([1eedbfe](https://github.com/Rebilly/ReDoc/commit/1eedbfe))
|
||||||
|
* Slugifying non-ascii headers make duplicate permalinks ([#264](https://github.com/Rebilly/ReDoc/issues/264)) ([6edbbe7](https://github.com/Rebilly/ReDoc/commit/6edbbe7))
|
||||||
|
* typo in download button classname (thanks [@dwilding](https://github.com/dwilding)) ([6b363a5](https://github.com/Rebilly/ReDoc/commit/6b363a5))
|
||||||
|
* firefox and IE scroll sync after deps update ([ad04636](https://github.com/Rebilly/ReDoc/commit/ad04636))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* add triangle icon for expandable menu items ([e7130d2](https://github.com/Rebilly/ReDoc/commit/e7130d2))
|
||||||
|
* clear button (x) in search box ([0341db4](https://github.com/Rebilly/ReDoc/commit/0341db4))
|
||||||
|
|
||||||
|
|
||||||
<a name="1.14.0"></a>
|
<a name="1.14.0"></a>
|
||||||
# [1.14.0](https://github.com/Rebilly/ReDoc/compare/v1.13.0...v1.14.0) (2017-04-23)
|
# [1.14.0](https://github.com/Rebilly/ReDoc/compare/v1.13.0...v1.14.0) (2017-04-23)
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# ReDoc
|
# ReDoc
|
||||||
**OpenAPI/Swagger-generated API Reference Documentation**
|
**OpenAPI/Swagger-generated API Reference Documentation**
|
||||||
|
|
||||||
[![Build Status](https://travis-ci.org/Rebilly/ReDoc.svg?branch=master)](https://travis-ci.org/Rebilly/ReDoc) [![Coverage Status](https://coveralls.io/repos/Rebilly/ReDoc/badge.svg?branch=master&service=github)](https://coveralls.io/github/Rebilly/ReDoc?branch=master) [![Tested on APIs.guru](http://api.apis.guru/badges/tested_on.svg)](https://APIs.guru) [![Dependency Status](https://gemnasium.com/badges/github.com/Rebilly/ReDoc.svg)](https://gemnasium.com/github.com/Rebilly/ReDoc) [![Stories in Ready](https://badge.waffle.io/Rebilly/ReDoc.png?label=ready&title=Ready)](https://waffle.io/Rebilly/ReDoc)
|
[![Build Status](https://travis-ci.org/Rebilly/ReDoc.svg?branch=master)](https://travis-ci.org/Rebilly/ReDoc) [![Coverage Status](https://coveralls.io/repos/Rebilly/ReDoc/badge.svg?branch=master&service=github)](https://coveralls.io/github/Rebilly/ReDoc?branch=master) [![Tested on APIs.guru](http://api.apis.guru/badges/tested_on.svg)](https://APIs.guru) [![dependencies Status](https://david-dm.org/Rebilly/ReDoc/status.svg)](https://david-dm.org/Rebilly/ReDoc) [![devDependencies Status](https://david-dm.org/Rebilly/ReDoc/dev-status.svg)](https://david-dm.org/Rebilly/ReDoc#info=devDependencies) [![Stories in Ready](https://badge.waffle.io/Rebilly/ReDoc.png?label=ready&title=Ready)](https://waffle.io/Rebilly/ReDoc)
|
||||||
|
|
||||||
[![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/Rebilly/redoc.svg)](http://isitmaintained.com/project/Rebilly/redoc "Average time to resolve an issue") [![Percentage of issues still open](http://isitmaintained.com/badge/open/REBILLY/REDOC.svg)](http://isitmaintained.com/project/REBILLY/REDOC "Percentage of issues still open")
|
[![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/Rebilly/redoc.svg)](http://isitmaintained.com/project/Rebilly/redoc "Average time to resolve an issue") [![Percentage of issues still open](http://isitmaintained.com/badge/open/REBILLY/REDOC.svg)](http://isitmaintained.com/project/REBILLY/REDOC "Percentage of issues still open")
|
||||||
|
|
||||||
|
|
|
@ -16,10 +16,10 @@ mkdir('-p', 'dist');
|
||||||
cp('-R', '../dist/*', './dist/');
|
cp('-R', '../dist/*', './dist/');
|
||||||
cd('..');
|
cd('..');
|
||||||
|
|
||||||
var version = 'v' + require(path.join(__dirname, '../package.json')).version + '/';
|
var version = require(path.join(__dirname, '../package.json')).version;
|
||||||
var versionDir = path.join(paths.releases, version);
|
var versionDir = path.join(paths.releases, 'v' + version + '/');
|
||||||
var latestDir = path.join(paths.releases, 'latest/');
|
var latestDir = path.join(paths.releases, 'latest/');
|
||||||
var v1Dir = path.join(paths.releases, 'v1.x.x/');
|
var v1Dir = path.join(paths.releases, 'v' + version.split('.')[0] + '.x.x/');
|
||||||
mkdir('-p', versionDir)
|
mkdir('-p', versionDir)
|
||||||
mkdir('-p', latestDir);
|
mkdir('-p', latestDir);
|
||||||
mkdir('-p', v1Dir);
|
mkdir('-p', v1Dir);
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
import { NgModule } from '@angular/core';
|
import { NgModule } from '@angular/core';
|
||||||
import { BrowserModule } from '@angular/platform-browser';
|
import { BrowserModule } from '@angular/platform-browser';
|
||||||
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
||||||
|
|
||||||
import { RedocModule } from './redoc.module';
|
import { RedocModule } from './redoc.module';
|
||||||
import { Redoc } from './components/index';
|
import { Redoc } from './components/index';
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [ BrowserModule, BrowserAnimationsModule, RedocModule ],
|
imports: [ BrowserModule, RedocModule ],
|
||||||
bootstrap: [ Redoc ],
|
bootstrap: [ Redoc ],
|
||||||
exports: [ Redoc ]
|
exports: [ Redoc ]
|
||||||
})
|
})
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<div class="api-info-wrapper">
|
<div class="api-info-wrapper">
|
||||||
<h1>{{info.title}} <span class="api-info-version">({{info.version}})</span></h1>
|
<h1>{{info.title}} <span class="api-info-version">({{info.version}})</span></h1>
|
||||||
<p class="donwload-openapi" *ngIf="specUrl">
|
<p class="download-openapi" *ngIf="specUrl">
|
||||||
Download OpenAPI (fka Swagger) specification:
|
Download OpenAPI (fka Swagger) specification:
|
||||||
<a class="openapi-button" target="_blank" attr.href='{{specUrl}}'> Download </a>
|
<a class="openapi-button" download target="_blank" attr.href='{{specUrl}}'> Download </a>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<!-- TODO: create separate components for contact and license ? -->
|
<!-- TODO: create separate components for contact and license ? -->
|
||||||
|
|
|
@ -78,7 +78,7 @@ export class Redoc extends BaseComponent implements OnInit {
|
||||||
//parse options (top level component doesn't support inputs)
|
//parse options (top level component doesn't support inputs)
|
||||||
optionsMgr.parseOptions( this.element );
|
optionsMgr.parseOptions( this.element );
|
||||||
let scrollParent = detectScollParent( this.element );
|
let scrollParent = detectScollParent( this.element );
|
||||||
if (scrollParent === DOM.defaultDoc().body) scrollParent = window;
|
if (scrollParent === (document.scrollingElement || document.documentElement)) scrollParent = window;
|
||||||
optionsMgr.options.$scrollParent = scrollParent;
|
optionsMgr.options.$scrollParent = scrollParent;
|
||||||
this.options = optionsMgr.options;
|
this.options = optionsMgr.options;
|
||||||
this.lazyTasksService.allSync = !this.options.lazyRendering;
|
this.lazyTasksService.allSync = !this.options.lazyRendering;
|
||||||
|
|
|
@ -33,7 +33,7 @@ export class SchemaSample extends BaseComponent implements OnInit {
|
||||||
init() {
|
init() {
|
||||||
this.bindEvents();
|
this.bindEvents();
|
||||||
|
|
||||||
let base:any = {};
|
let base:any = this.componentSchema;
|
||||||
let sample;
|
let sample;
|
||||||
|
|
||||||
// got pointer not directly to the schema but e.g. to the response obj
|
// got pointer not directly to the schema but e.g. to the response obj
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
<div class="search-input-wrap">
|
<div class="search-input-wrap">
|
||||||
|
<div class="clear-button" *ngIf="searchTerm" (click)="clearSearch()">×</div>
|
||||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xml:space="preserve">
|
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xml:space="preserve">
|
||||||
<path d="M968.2,849.4L667.3,549c83.9-136.5,66.7-317.4-51.7-435.6C477.1-25,252.5-25,113.9,113.4c-138.5,138.3-138.5,362.6,0,501C219.2,730.1,413.2,743,547.6,666.5l301.9,301.4c43.6,43.6,76.9,14.9,104.2-12.4C981,928.3,1011.8,893,968.2,849.4z M524.5,522c-88.9,88.7-233,88.7-321.8,0c-88.9-88.7-88.9-232.6,0-321.3c88.9-88.7,233-88.7,321.8,0C613.4,289.4,613.4,433.3,524.5,522z"/>
|
<path d="M968.2,849.4L667.3,549c83.9-136.5,66.7-317.4-51.7-435.6C477.1-25,252.5-25,113.9,113.4c-138.5,138.3-138.5,362.6,0,501C219.2,730.1,413.2,743,547.6,666.5l301.9,301.4c43.6,43.6,76.9,14.9,104.2-12.4C981,928.3,1011.8,893,968.2,849.4z M524.5,522c-88.9,88.7-233,88.7-321.8,0c-88.9-88.7-88.9-232.6,0-321.3c88.9-88.7,233-88.7,321.8,0C613.4,289.4,613.4,433.3,524.5,522z"/>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
|
@ -18,12 +18,24 @@
|
||||||
fill: lighten($text-color, 20%);
|
fill: lighten($text-color, 20%);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.clear-button {
|
||||||
|
position: absolute;
|
||||||
|
display: inline-block;
|
||||||
|
width: 13px;
|
||||||
|
text-align: center;
|
||||||
|
right: 20px;
|
||||||
|
height: 28px;
|
||||||
|
line-height: 28px;
|
||||||
|
vertical-align: middle;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
input {
|
input {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 5px 5px 5px 20px;
|
padding: 5px 20px 5px 20px;
|
||||||
|
|
||||||
border: 0;
|
border: 0;
|
||||||
border-bottom: 1px solid darken($side-bar-bg-color, 10%);
|
border-bottom: 1px solid darken($side-bar-bg-color, 10%);
|
||||||
|
|
|
@ -38,6 +38,11 @@ export class RedocSearch implements OnInit {
|
||||||
this.search.indexAll();
|
this.search.indexAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
clearSearch() {
|
||||||
|
this.searchTerm = '';
|
||||||
|
this.updateSearch();
|
||||||
|
}
|
||||||
|
|
||||||
update(event:KeyboardEvent, val) {
|
update(event:KeyboardEvent, val) {
|
||||||
if (event && event.keyCode === 27) { // escape
|
if (event && event.keyCode === 27) { // escape
|
||||||
this.searchTerm = '';
|
this.searchTerm = '';
|
||||||
|
|
|
@ -3,8 +3,11 @@
|
||||||
<label class="menu-item-header" [ngClass]="{disabled: !item.ready}" (click)="activateItem(item)">
|
<label class="menu-item-header" [ngClass]="{disabled: !item.ready}" (click)="activateItem(item)">
|
||||||
<span class="operation-type" [ngClass]="item?.metadata?.operation" *ngIf="item?.metadata?.operation"> {{item?.metadata?.operation}} </span><!--
|
<span class="operation-type" [ngClass]="item?.metadata?.operation" *ngIf="item?.metadata?.operation"> {{item?.metadata?.operation}} </span><!--
|
||||||
--><span class="menu-item-title">{{item.name}}</span>
|
--><span class="menu-item-title">{{item.name}}</span>
|
||||||
|
<svg *ngIf="item.items?.length" xmlns="http://www.w3.org/2000/svg" version="1.1" x="0" y="0" viewBox="0 0 24 24" xml:space="preserve">
|
||||||
|
<polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "/>
|
||||||
|
</svg>
|
||||||
</label>
|
</label>
|
||||||
<ul *ngIf="item.items" class="menu-subitems" [@itemAnimation]="(item.active || item.isGroup) ? 'expanded' : 'collapsed'">
|
<ul *ngIf="item.items" class="menu-subitems">
|
||||||
<side-menu-items [items]="item.items" (activate)="activateItem($event)"> </side-menu-items>
|
<side-menu-items [items]="item.items" (activate)="activateItem($event)"> </side-menu-items>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
|
|
@ -20,6 +20,25 @@
|
||||||
cursor: default;
|
cursor: default;
|
||||||
color: lighten($text-color, 60%);
|
color: lighten($text-color, 60%);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
> svg {
|
||||||
|
height: 18px;
|
||||||
|
vertical-align: middle;
|
||||||
|
float: right;
|
||||||
|
transform: rotateZ(-90deg);
|
||||||
|
//transition: transform 0.3s ease-out;
|
||||||
|
|
||||||
|
polygon {
|
||||||
|
fill: $border-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.active > & {
|
||||||
|
transform: rotateZ(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-item {
|
.menu-item {
|
||||||
|
@ -98,6 +117,10 @@
|
||||||
font-size: 0.8em;
|
font-size: 0.8em;
|
||||||
padding-bottom: 0;
|
padding-bottom: 0;
|
||||||
cursor: default;
|
cursor: default;
|
||||||
|
|
||||||
|
> svg {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
&:hover,
|
&:hover,
|
||||||
&.active {
|
&.active {
|
||||||
|
|
|
@ -8,6 +8,7 @@ $mobile-menu-compact-breakpoint: 550px;
|
||||||
|
|
||||||
#resources-nav {
|
#resources-nav {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
ul.menu-root {
|
ul.menu-root {
|
||||||
|
|
|
@ -22,17 +22,6 @@ const global = window;
|
||||||
selector: 'side-menu-items',
|
selector: 'side-menu-items',
|
||||||
templateUrl: './side-menu-items.html',
|
templateUrl: './side-menu-items.html',
|
||||||
styleUrls: ['./side-menu-items.css'],
|
styleUrls: ['./side-menu-items.css'],
|
||||||
animations: [
|
|
||||||
trigger('itemAnimation', [
|
|
||||||
state('collapsed, void',
|
|
||||||
style({ height: '0px' })),
|
|
||||||
state('expanded',
|
|
||||||
style({ height: '*' })),
|
|
||||||
transition('collapsed <=> expanded', [
|
|
||||||
animate('200ms ease')
|
|
||||||
])
|
|
||||||
])
|
|
||||||
]
|
|
||||||
})
|
})
|
||||||
export class SideMenuItems {
|
export class SideMenuItems {
|
||||||
@Input() items: MenuItem[];
|
@Input() items: MenuItem[];
|
||||||
|
|
|
@ -29,4 +29,4 @@ export const REDOC_DIRECTIVES = [
|
||||||
|
|
||||||
export { ApiInfo, ApiLogo, JsonSchema, JsonSchemaLazy, ParamsList, RequestSamples, ResponsesList,
|
export { ApiInfo, ApiLogo, JsonSchema, JsonSchemaLazy, ParamsList, RequestSamples, ResponsesList,
|
||||||
ResponsesSamples, SchemaSample, SideMenu, OperationsList, Operation, Warnings, Redoc, SecurityDefinitions,
|
ResponsesSamples, SchemaSample, SideMenu, OperationsList, Operation, Warnings, Redoc, SecurityDefinitions,
|
||||||
LoadingBar, SideMenuItems, ExternalDocs, EndpointLink }
|
LoadingBar, SideMenuItems, ExternalDocs, EndpointLink };
|
||||||
|
|
|
@ -35,7 +35,7 @@ export interface MenuItem {
|
||||||
active?: boolean;
|
active?: boolean;
|
||||||
ready?: boolean;
|
ready?: boolean;
|
||||||
|
|
||||||
depth?: number;
|
depth?: string|number;
|
||||||
flatIdx?: number;
|
flatIdx?: number;
|
||||||
|
|
||||||
metadata?: any;
|
metadata?: any;
|
||||||
|
@ -72,7 +72,11 @@ export class MenuService {
|
||||||
this.buildMenu();
|
this.buildMenu();
|
||||||
});
|
});
|
||||||
|
|
||||||
this._scrollSubscription = scrollService.scroll.subscribe((evt) => {
|
this.subscribe();
|
||||||
|
}
|
||||||
|
|
||||||
|
subscribe() {
|
||||||
|
this._scrollSubscription = this.scrollService.scroll.subscribe((evt) => {
|
||||||
this.onScroll(evt.isScrolledDown);
|
this.onScroll(evt.isScrolledDown);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -260,7 +264,7 @@ export class MenuService {
|
||||||
if (namespace === 'section') {
|
if (namespace === 'section') {
|
||||||
searchId = hash;
|
searchId = hash;
|
||||||
} else {
|
} else {
|
||||||
searchId = ptr || (namespace + '/' + sectionId);;
|
searchId = ptr || (namespace + '/' + sectionId);
|
||||||
}
|
}
|
||||||
|
|
||||||
idx = this.flatItems.findIndex(item => item.id === searchId);
|
idx = this.flatItems.findIndex(item => item.id === searchId);
|
||||||
|
@ -478,5 +482,6 @@ export class MenuService {
|
||||||
destroy() {
|
destroy() {
|
||||||
this._hashSubscription.unsubscribe();
|
this._hashSubscription.unsubscribe();
|
||||||
this._scrollSubscription.unsubscribe();
|
this._scrollSubscription.unsubscribe();
|
||||||
|
this._progressSubscription.unsubscribe();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
import { SchemaNormalizer } from './schema-normalizer.service';
|
import { SchemaNormalizer } from './schema-normalizer.service';
|
||||||
import { SpecManager } from '../utils/spec-manager';;
|
import { SpecManager } from '../utils/spec-manager';
|
||||||
import { OptionsService } from '../services/options.service';
|
import { OptionsService } from '../services/options.service';
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,8 @@ export class MdRenderer {
|
||||||
}
|
}
|
||||||
|
|
||||||
saveHeading(title: string, parent:MarkdownHeading = {id:null, children: this.headings}) :MarkdownHeading {
|
saveHeading(title: string, parent:MarkdownHeading = {id:null, children: this.headings}) :MarkdownHeading {
|
||||||
let slug = slugify(title);
|
// if title contains some non-ASCII characters (e.g. chinese) slugify returns empty string
|
||||||
|
let slug = slugify(title) || title;
|
||||||
let id = slug;
|
let id = slug;
|
||||||
if (parent && parent.id) id = `${parent.id}/${id}`;
|
if (parent && parent.id) id = `${parent.id}/${id}`;
|
||||||
parent.children = parent.children || {};
|
parent.children = parent.children || {};
|
||||||
|
@ -110,7 +111,7 @@ export class MdRenderer {
|
||||||
} else {
|
} else {
|
||||||
let content = tokens[idx + 1].content;
|
let content = tokens[idx + 1].content;
|
||||||
if (tokens[idx].hLevel === 1 ) {
|
if (tokens[idx].hLevel === 1 ) {
|
||||||
this.currentTopHeading = this.saveHeading(content);;
|
this.currentTopHeading = this.saveHeading(content);
|
||||||
let id = this.currentTopHeading.id;
|
let id = this.currentTopHeading.id;
|
||||||
return `<h${tokens[idx].hLevel} section="section/${id}">` +
|
return `<h${tokens[idx].hLevel} section="section/${id}">` +
|
||||||
`<a class="share-link" href="#section/${id}"></a>` +
|
`<a class="share-link" href="#section/${id}"></a>` +
|
||||||
|
|
|
@ -15,11 +15,11 @@ export interface RedocInjectedPointer {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export interface SwaggerOperation extends Operation, RedocInjectedPointer {};
|
export interface SwaggerOperation extends Operation, RedocInjectedPointer {}
|
||||||
export interface SwaggerBodyParameter extends BodyParameter, RedocInjectedPointer {}
|
export interface SwaggerBodyParameter extends BodyParameter, RedocInjectedPointer {}
|
||||||
export interface SwaggerHeaderParameter extends HeaderParameter, RedocInjectedPointer {}
|
export interface SwaggerHeaderParameter extends HeaderParameter, RedocInjectedPointer {}
|
||||||
export interface SwaggerQueryParameter extends QueryParameter, RedocInjectedPointer {}
|
export interface SwaggerQueryParameter extends QueryParameter, RedocInjectedPointer {}
|
||||||
export interface SwaggerFormDataParameter extends FormDataParameter, RedocInjectedPointer {}
|
export interface SwaggerFormDataParameter extends FormDataParameter, RedocInjectedPointer {}
|
||||||
export type SwaggerParameter = SwaggerBodyParameter | SwaggerHeaderParameter | SwaggerQueryParameter | SwaggerFormDataParameter;
|
export type SwaggerParameter = SwaggerBodyParameter | SwaggerHeaderParameter | SwaggerQueryParameter | SwaggerFormDataParameter;
|
||||||
export interface SwaggerSchema extends Schema, RedocInjectedPointer {};
|
export interface SwaggerSchema extends Schema, RedocInjectedPointer {}
|
||||||
export { Spec as SwaggerSpec, Response as SwaggerResponse };
|
export { Spec as SwaggerSpec, Response as SwaggerResponse };
|
||||||
|
|
75
package.json
75
package.json
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "redoc",
|
"name": "redoc",
|
||||||
"description": "Swagger-generated API Reference Documentation",
|
"description": "Swagger-generated API Reference Documentation",
|
||||||
"version": "1.14.0",
|
"version": "1.15.0",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git://github.com/Rebilly/ReDoc"
|
"url": "git://github.com/Rebilly/ReDoc"
|
||||||
|
@ -50,40 +50,39 @@
|
||||||
"author": "Roman Hotsiy",
|
"author": "Roman Hotsiy",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@angular/animations": "^4.0.0",
|
"@angular/common": "^4.1.1",
|
||||||
"@angular/common": "^4.0.0",
|
"@angular/compiler": "^4.1.1",
|
||||||
"@angular/compiler": "^4.0.0",
|
"@angular/compiler-cli": "^4.1.1",
|
||||||
"@angular/compiler-cli": "^4.0.0",
|
"@angular/core": "^4.1.1",
|
||||||
"@angular/core": "^4.0.0",
|
"@angular/platform-browser": "^4.1.1",
|
||||||
"@angular/platform-browser": "^4.0.0",
|
"@angular/platform-browser-dynamic": "^4.1.1",
|
||||||
"@angular/platform-browser-dynamic": "^4.0.0",
|
"@angular/platform-server": "^4.1.1",
|
||||||
"@angular/platform-server": "^4.0.0",
|
"@types/jasmine": "^2.5.47",
|
||||||
"@types/jasmine": "^2.5.46",
|
"@types/requirejs": "^2.1.29",
|
||||||
"@types/requirejs": "^2.1.26",
|
"@types/should": "^8.3.0",
|
||||||
"@types/should": "^8.1.28",
|
"@types/swagger-schema-official": "^2.0.4",
|
||||||
"@types/swagger-schema-official": "^2.0.2",
|
"@types/webpack": "^2.2.15",
|
||||||
"@types/webpack": "^2.2.12",
|
|
||||||
"angular2-template-loader": "^0.6.2",
|
"angular2-template-loader": "^0.6.2",
|
||||||
"awesome-typescript-loader": "^3.1.2",
|
"awesome-typescript-loader": "^3.1.3",
|
||||||
"branch-release": "^1.0.3",
|
"branch-release": "^1.0.3",
|
||||||
"chalk": "^1.1.3",
|
"chalk": "^1.1.3",
|
||||||
"codelyzer": "^3.0.0-beta.4",
|
"codelyzer": "^3.0.1",
|
||||||
"conventional-changelog-cli": "^1.3.1",
|
"conventional-changelog-cli": "^1.3.1",
|
||||||
"core-js": "^2.4.1",
|
"core-js": "^2.4.1",
|
||||||
"coveralls": "^2.12.0",
|
"coveralls": "^2.13.1",
|
||||||
"css-loader": "^0.27.3",
|
"css-loader": "^0.28.1",
|
||||||
"deploy-to-gh-pages": "^1.3.3",
|
"deploy-to-gh-pages": "^1.3.3",
|
||||||
"dropkickjs": "^2.1.10",
|
"dropkickjs": "^2.1.10",
|
||||||
"hint.css": "^2.3.2",
|
"hint.css": "^2.5.0",
|
||||||
"http-server": "^0.9.0",
|
"http-server": "^0.10.0",
|
||||||
"https-browserify": "^1.0.0",
|
"https-browserify": "^1.0.0",
|
||||||
"istanbul-instrumenter-loader": "^2.0.0",
|
"istanbul-instrumenter-loader": "^2.0.0",
|
||||||
"jasmine-core": "^2.4.1",
|
"jasmine-core": "^2.6.1",
|
||||||
"jasmine-spec-reporter": "^3.1.0",
|
"jasmine-spec-reporter": "^4.1.0",
|
||||||
"json-pointer": "^0.6.0",
|
"json-pointer": "^0.6.0",
|
||||||
"json-schema-ref-parser": "^3.1.2",
|
"json-schema-ref-parser": "^3.1.2",
|
||||||
"karma": "^1.5.0",
|
"karma": "^1.6.0",
|
||||||
"karma-chrome-launcher": "^2.0.0",
|
"karma-chrome-launcher": "^2.1.0",
|
||||||
"karma-coverage": "^1.1.1",
|
"karma-coverage": "^1.1.1",
|
||||||
"karma-coveralls": "^1.1.2",
|
"karma-coveralls": "^1.1.2",
|
||||||
"karma-jasmine": "^1.0.2",
|
"karma-jasmine": "^1.0.2",
|
||||||
|
@ -95,36 +94,36 @@
|
||||||
"karma-sinon": "^1.0.4",
|
"karma-sinon": "^1.0.4",
|
||||||
"karma-sourcemap-loader": "^0.3.7",
|
"karma-sourcemap-loader": "^0.3.7",
|
||||||
"karma-webpack": "^2.0.3",
|
"karma-webpack": "^2.0.3",
|
||||||
"lunr": "^1.0.0",
|
|
||||||
"mark.js": "github:julmot/mark.js",
|
"mark.js": "github:julmot/mark.js",
|
||||||
"node-sass": "^4.5.2",
|
"node-sass": "^4.5.2",
|
||||||
"openapi-sampler": "^0.4.1",
|
"openapi-sampler": "^0.4.1",
|
||||||
"phantomjs-prebuilt": "^2.1.7",
|
"phantomjs-prebuilt": "^2.1.14",
|
||||||
"prismjs": "^1.5.1",
|
"prismjs": "^1.5.1",
|
||||||
"protractor": "^5.1.1",
|
"protractor": "^5.1.1",
|
||||||
"raw-loader": "^0.5.1",
|
"raw-loader": "^0.5.1",
|
||||||
"remarkable": "^1.6.2",
|
"remarkable": "^1.6.2",
|
||||||
"rimraf": "^2.6.1",
|
"rimraf": "^2.6.1",
|
||||||
"rxjs": "^5.2.0",
|
"rxjs": "^5.3.1",
|
||||||
"sass-loader": "^6.0.3",
|
"sass-loader": "^6.0.3",
|
||||||
"scrollparent": "^1.0.0",
|
"scrollparent": "^2.0.1",
|
||||||
"shelljs": "^0.7.7",
|
"shelljs": "^0.7.7",
|
||||||
"should": "^11.2.1",
|
"should": "^11.2.1",
|
||||||
"sinon": "^2.1.0",
|
"sinon": "^2.2.0",
|
||||||
"slugify": "^1.0.2",
|
"slugify": "^1.0.2",
|
||||||
"source-map-loader": "^0.2.0",
|
"source-map-loader": "^0.2.1",
|
||||||
"stream-http": "^2.6.1",
|
"stream-http": "^2.7.0",
|
||||||
"string-replace-webpack-plugin": "^0.1.3",
|
"string-replace-webpack-plugin": "^0.1.3",
|
||||||
"style-loader": "^0.16.1",
|
"style-loader": "^0.17.0",
|
||||||
"ts-helpers": "^1.1.1",
|
"ts-helpers": "^1.1.1",
|
||||||
"tslint": "^4.5.1",
|
"tslint": "^5.2.0",
|
||||||
"typescript": "^2.2.2",
|
"typescript": "^2.3.2",
|
||||||
"webpack": "^2.3.2",
|
"webpack": "^2.5.0",
|
||||||
"webpack-dev-server": "^2.4.2",
|
"webpack-dev-server": "^2.4.5",
|
||||||
"webpack-merge": "^4.1.0",
|
"webpack-merge": "^4.1.0",
|
||||||
"zone.js": "^0.8.5"
|
"zone.js": "^0.8.10"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"perfect-scrollbar": "^0.6.16"
|
"lunr": "1.0.0",
|
||||||
|
"perfect-scrollbar": "^0.7.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,7 +55,7 @@ function verifyNoBrowserErrors() {
|
||||||
if (message.match(/This site makes use of a SHA-1 Certificate/)) return false;
|
if (message.match(/This site makes use of a SHA-1 Certificate/)) return false;
|
||||||
|
|
||||||
|
|
||||||
if (logEntry.level.value >= LogLevel.INFO) {
|
if (logEntry.level.value > LogLevel.WARNING) {
|
||||||
if (message.length > MAX_ERROR_MESSAGE_SYMBOLS) {
|
if (message.length > MAX_ERROR_MESSAGE_SYMBOLS) {
|
||||||
message = message.substr(0, MAX_ERROR_MESSAGE_SYMBOLS) + '...';
|
message = message.substr(0, MAX_ERROR_MESSAGE_SYMBOLS) + '...';
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,6 @@ var ErrorHandler = require('@angular/core').ErrorHandler;
|
||||||
var forwardRef = require('@angular/core').forwardRef;
|
var forwardRef = require('@angular/core').forwardRef;
|
||||||
var BrowserDynamicTestingModule = require('@angular/platform-browser-dynamic/testing').BrowserDynamicTestingModule;
|
var BrowserDynamicTestingModule = require('@angular/platform-browser-dynamic/testing').BrowserDynamicTestingModule;
|
||||||
var platformBrowserDynamicTesting = require('@angular/platform-browser-dynamic/testing').platformBrowserDynamicTesting;
|
var platformBrowserDynamicTesting = require('@angular/platform-browser-dynamic/testing').platformBrowserDynamicTesting;
|
||||||
var BrowserAnimationsModule = require('@angular/platform-browser/animations').BrowserAnimationsModule;
|
|
||||||
var SpecManager = require('../lib/utils/spec-manager').SpecManager;
|
var SpecManager = require('../lib/utils/spec-manager').SpecManager;
|
||||||
var services = require('../lib/services/index');
|
var services = require('../lib/services/index');
|
||||||
var REDOC_PIPES = require('../lib/utils/pipes').REDOC_PIPES;
|
var REDOC_PIPES = require('../lib/utils/pipes').REDOC_PIPES;
|
||||||
|
@ -39,7 +38,6 @@ TestBed.initTestEnvironment(
|
||||||
|
|
||||||
beforeEach(function() {
|
beforeEach(function() {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
imports: [BrowserAnimationsModule],
|
|
||||||
providers: [
|
providers: [
|
||||||
SpecManager,
|
SpecManager,
|
||||||
services.AppStateService,
|
services.AppStateService,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user