openapi-explorer
Version:
OpenAPI Explorer - API viewer with dynamically generated components, documentation, and interaction console
70 lines (69 loc) • 3.56 kB
JavaScript
"use strict";
exports.__esModule = true;
exports.default = focusedEndpointTemplate;
var _lit = require("lit");
var _expandedEndpointTemplate = require("./expanded-endpoint-template.js");
require("../components/api-request.js");
require("../components/api-response.js");
var _componentsTemplate = _interopRequireDefault(require("./components-template.js"));
var _overviewTemplate = _interopRequireDefault(require("./overview-template.js"));
var _serverTemplate = _interopRequireDefault(require("./server-template.js"));
var _securitySchemeTemplate = _interopRequireDefault(require("./security-scheme-template.js"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function wrapFocusedTemplate(templateToWrap) {
return (0, _lit.html)` <div class="regular-font section-gap--focused-mode" part="section-operations-in-tag"> ${templateToWrap} </div>`;
}
function defaultContentTemplate() {
// In focused mode default content is overview or first path
if (!this.hideInfo) {
return _overviewTemplate.default.call(this);
}
const selectedTagObj = this.resolvedSpec.tags[0];
const selectedPathObj = selectedTagObj === null || selectedTagObj === void 0 ? void 0 : selectedTagObj.paths[0];
return selectedPathObj ? wrapFocusedTemplate(_expandedEndpointTemplate.expandedEndpointBodyTemplate.call(this, selectedPathObj, selectedTagObj)) : wrapFocusedTemplate('');
}
function focusedEndpointTemplate() {
if (!this.explorerLocation || !this.resolvedSpec) {
return undefined;
}
const focusElId = this.explorerLocation;
let selectedPathObj = null;
let selectedTagObj = null;
let focusedTemplate;
let i = 0;
if (focusElId.startsWith('overview') && !this.hideInfo) {
focusedTemplate = _overviewTemplate.default.call(this);
} else if (focusElId === 'auth' && !this.hideAuthentication) {
focusedTemplate = _securitySchemeTemplate.default.call(this);
} else if (focusElId === 'servers' && !this.hideServerSelection) {
focusedTemplate = _serverTemplate.default.call(this);
} else if (focusElId.startsWith('section')) {
focusedTemplate = (0, _lit.html)` <section id="section" class="observe-me"> <slot class="conditional-custom-section custom-section" name="custom-section"></slot> </section>`;
} else if (focusElId.startsWith('cmp--') && !this.hideComponents) {
focusedTemplate = _componentsTemplate.default.call(this);
} else if (focusElId.startsWith('tag--')) {
const idToFocus = focusElId.indexOf('--', 4) > 0 ? focusElId.substring(0, focusElId.indexOf('--', 5)) : focusElId;
selectedTagObj = this.resolvedSpec.tags.find(v => v.elementId === idToFocus);
if (selectedTagObj) {
focusedTemplate = _expandedEndpointTemplate.expandedTagTemplate.call(this, idToFocus, focusElId);
} else {
focusedTemplate = defaultContentTemplate.call(this);
}
} else {
for (i = 0; i < this.resolvedSpec.tags.length; i += 1) {
selectedTagObj = this.resolvedSpec.tags[i];
selectedPathObj = this.resolvedSpec.tags[i].paths.find(v => `${v.elementId}` === focusElId);
if (selectedPathObj) {
break;
}
}
if (selectedPathObj) {
focusedTemplate = wrapFocusedTemplate.call(this, _expandedEndpointTemplate.expandedEndpointBodyTemplate.call(this, selectedPathObj, selectedTagObj));
} else {
// if explorerLocation is not found then show the default content (overview or first-path)
focusedTemplate = defaultContentTemplate.call(this);
}
}
return focusedTemplate;
}
/* eslint-enable indent */