Render json-schema constrains for headers (fixes #47)

This commit is contained in:
Roman Hotsiy 2016-07-28 07:24:12 +03:00
parent 4b61357be0
commit f98cb9a3fe
No known key found for this signature in database
GPG Key ID: 5CB7B3ACABA57CB0
5 changed files with 27 additions and 3 deletions

View File

@ -14,6 +14,7 @@
<div> <div>
<span class="param-type {{param.type}}" [ngClass]="{'with-hint': param._displayTypeHint}" <span class="param-type {{param.type}}" [ngClass]="{'with-hint': param._displayTypeHint}"
title="{{param._displayTypeHint}}"> {{param._displayType}} {{param._displayFormat}}</span> title="{{param._displayTypeHint}}"> {{param._displayType}} {{param._displayFormat}}</span>
<span class="param-range" *ngIf="param._range"> {{param._range}} </span>
<span *ngIf="param.required" class="param-required">Required</span> <span *ngIf="param.required" class="param-required">Required</span>
<div class="default" *ngIf="param.default">Default: {{param.default | json}}</div> <div class="default" *ngIf="param.default">Default: {{param.default | json}}</div>
<div *ngIf="param.enum" class="param-enum"> <div *ngIf="param.enum" class="param-enum">

View File

@ -34,7 +34,7 @@ export class ParamsList extends BaseComponent {
let propPointer = paramSchema._pointer; let propPointer = paramSchema._pointer;
if (paramSchema.in === 'body') return paramSchema; if (paramSchema.in === 'body') return paramSchema;
paramSchema._name = paramSchema.name; paramSchema._name = paramSchema.name;
return SchemaHelper.preprocess(paramSchema,propPointer, this.pointer); return SchemaHelper.preprocess(paramSchema, propPointer, this.pointer);
}); });
let paramsMap = this.orderParams(paramsList); let paramsMap = this.orderParams(paramsList);

View File

@ -7,8 +7,13 @@
</header> </header>
<div class="header" *ngFor="let header of response.headers"> <div class="header" *ngFor="let header of response.headers">
<div class="header-name"> {{header.name}} </div> <div class="header-name"> {{header.name}} </div>
<div class="header-type"> {{header.type}} </div> <div class="header-type {{header.type}}"> {{header._displayType}} {{header._displayFormat}}
<span class="header-range" *ngIf="header._range"> {{header._range}} </span>
</div>
<div *ngIf="header.default" class="header-default"> Default: {{header.default}} </div> <div *ngIf="header.default" class="header-default"> Default: {{header.default}} </div>
<div *ngIf="header.enum" class="header-enum">
<span *ngFor="let enumItem of header.enum" class="enum-value {{enumItem.type}}"> {{enumItem.val | json}} </span>
</div>
<div class="header-description" [innerHtml]="header.description | marked"> </div> <div class="header-description" [innerHtml]="header.description | marked"> </div>
</div> </div>
</div> </div>

View File

@ -38,3 +38,20 @@ header {
.header { .header {
margin-bottom: 10px; margin-bottom: 10px;
} }
.header-range {
position: relative;
top: 1px;
margin-right: 6px;
margin-left: 6px;
border-radius: $border-radius;
background-color: rgba($primary-color, .1);
padding: 0 4px;
color: rgba($primary-color, 0.7);
}
.header-type.array:before {
content: "Array of ";
color: $black;
font-weight: $base-font-weight;
}

View File

@ -7,6 +7,7 @@ import { JsonSchemaLazy } from '../JsonSchema/json-schema-lazy';
import { Zippy } from '../../shared/components/index'; import { Zippy } from '../../shared/components/index';
import { statusCodeType } from '../../utils/helpers'; import { statusCodeType } from '../../utils/helpers';
import { OptionsService } from '../../services/index'; import { OptionsService } from '../../services/index';
import { SchemaHelper } from '../../services/schema-helper.service';
function isNumeric(n) { function isNumeric(n) {
return (!isNaN(parseFloat(n)) && isFinite(n)); return (!isNaN(parseFloat(n)) && isFinite(n));
@ -52,7 +53,7 @@ export class ResponsesList extends BaseComponent {
resp.headers = Object.keys(resp.headers).map((k) => { resp.headers = Object.keys(resp.headers).map((k) => {
let respInfo = resp.headers[k]; let respInfo = resp.headers[k];
respInfo.name = k; respInfo.name = k;
return respInfo; return SchemaHelper.preprocess(respInfo, this.pointer, this.pointer);
}); });
resp.empty = false; resp.empty = false;
} }