diff --git a/lib/components/Method/method.css b/lib/components/Method/method.css index bc105b39..a7997e4e 100644 --- a/lib/components/Method/method.css +++ b/lib/components/Method/method.css @@ -21,17 +21,28 @@ h3 > span { display: block; box-sizing: border-box; float: left; - padding: 0 20px; } .content { width: 60%; + padding: 0 20px; } .samples { + color: white; width: 40%; } +.samples header { + padding: 10px 20px; + font-size: 20px; + background-color: #231416; +} + +.samples .snippet { + padding: 10px 20px; +} + .method:after { content: ""; display: table; diff --git a/lib/components/Method/method.html b/lib/components/Method/method.html index 9554697c..a77929da 100644 --- a/lib/components/Method/method.html +++ b/lib/components/Method/method.html @@ -14,6 +14,9 @@
- +
Response sample
+
+ +
diff --git a/lib/components/Method/method.js b/lib/components/Method/method.js index b0798da3..5243ecf5 100644 --- a/lib/components/Method/method.js +++ b/lib/components/Method/method.js @@ -4,12 +4,13 @@ import {JsonPointer} from '../../utils/JsonPointer'; import {RedocComponent, BaseComponent} from '../base'; import {ParamsList} from '../ParamsList/params-list'; import {ResponsesList} from '../ResponsesList/responses-list'; +import {SchemaSample} from '../SchemaSample/schema-sample'; @RedocComponent({ selector: 'method', templateUrl: './lib/components/Method/method.html', styleUrls: ['./lib/components/Method/method.css'], - directives: [ParamsList, ResponsesList] + directives: [ParamsList, ResponsesList, SchemaSample] }) export class Method extends BaseComponent { constructor(schemaMgr) { diff --git a/lib/components/MethodsList/methods-list.css b/lib/components/MethodsList/methods-list.css index c07d19ae..e9debf09 100644 --- a/lib/components/MethodsList/methods-list.css +++ b/lib/components/MethodsList/methods-list.css @@ -11,7 +11,7 @@ method { .methods:before { content: ""; - background: rgb(59, 59, 105); + background: rgb(64, 33, 37); height: 100%; width: 40%; top: 0; diff --git a/lib/components/SchemaSample/schema-sample.html b/lib/components/SchemaSample/schema-sample.html new file mode 100644 index 00000000..d09cffcf --- /dev/null +++ b/lib/components/SchemaSample/schema-sample.html @@ -0,0 +1,3 @@ +
+
{{data.sample | json}}
+
diff --git a/lib/components/SchemaSample/schema-sample.js b/lib/components/SchemaSample/schema-sample.js new file mode 100644 index 00000000..4f02294a --- /dev/null +++ b/lib/components/SchemaSample/schema-sample.js @@ -0,0 +1,26 @@ +'use strict'; + +import {RedocComponent, BaseComponent} from '../base'; + +import SchemaSampler from 'json-schema-instantiator'; + +@RedocComponent({ + selector: 'schema-sample', + templateUrl: './lib/components/SchemaSample/schema-sample.html' +}) +export class SchemaSample extends BaseComponent { + constructor(schemaMgr) { + super(schemaMgr); + } + + init() { + this.data = {}; + if (!this.componentSchema || !this.pointer) { + console.log(this.pointer); + return; + } + this.dereference(); + let sample = SchemaSampler.instantiate(this.componentSchema); + this.data.sample = sample; + } +}