feat: add hide-loading option

closes #315
This commit is contained in:
Roman Hotsiy 2017-08-02 15:35:23 +03:00
parent 3009d18b39
commit 2ebca4bb03
No known key found for this signature in database
GPG Key ID: 5CB7B3ACABA57CB0
3 changed files with 11 additions and 1 deletions

View File

@ -146,6 +146,7 @@ ReDoc makes use of the following [vendor extensions](http://swagger.io/specifica
* `required-props-first` - show required properties first ordered in the same order as in `required` array.
* `no-auto-auth` - do not inject Authentication section automatically
* `path-in-middle-panel` - show path link and HTTP verb in the middle panel instead of the right one
* `hide-loading` - do not show loading animation. Useful for small docs
## Advanced usage
Instead of adding `spec-url` attribute to the `<redoc>` element you can initialize ReDoc via globally exposed `Redoc` object:

View File

@ -89,6 +89,9 @@ export class Redoc extends BaseComponent implements OnInit {
}
hideLoadingAnimation() {
if (this.options.hideLoading) {
return
}
requestAnimationFrame(() => {
this.specLoadingRemove = true;
setTimeout(() => {
@ -99,6 +102,9 @@ export class Redoc extends BaseComponent implements OnInit {
}
showLoadingAnimation() {
if (this.options.hideLoading) {
return
}
this.specLoading = true;
this.specLoadingRemove = false;
}

View File

@ -19,7 +19,8 @@ const OPTION_NAMES = new Set([
'requiredPropsFirst',
'noAutoAuth',
'pathInMiddlePanel',
'untrustedSpec'
'untrustedSpec',
'hideLoading'
]);
export interface Options {
@ -35,6 +36,7 @@ export interface Options {
noAutoAuth?: boolean;
pathInMiddlePanel?: boolean;
untrustedSpec?: boolean;
hideLoading?: boolean;
spec?: any;
}
@ -104,6 +106,7 @@ export class OptionsService {
if (isString(this._options.noAutoAuth)) this._options.noAutoAuth = true;
if (isString(this._options.pathInMiddlePanel)) this._options.pathInMiddlePanel = true;
if (isString(this._options.untrustedSpec)) this._options.untrustedSpec = true;
if (isString(this._options.hideLoading)) this._options.hideLoading = true;
if (isString(this._options.expandResponses)) {
let str = this._options.expandResponses as string;
if (str === 'all') return;