Sha256: 37308932c4a0155351726e3e6a4cf6152213c5782df3fefa6e419420d2c1a5f9

Contents?: true

Size: 1.63 KB

Versions: 15

Compression:

Stored size: 1.63 KB

Contents

<%
  # Handle any cases where the top level of the oneOf is an allOf
  panels = []
  oneOfId = "tabs-#{SecureRandom.hex}"

  parameters.each_with_index do |parameter, index|
    schema = parameter.raw
    if schema['properties']
      schema['properties'] = schema['properties'].map do |name, definition|
        next name if name.instance_of?(OasParser::Property)
        OasParser::Property.new(self, schema, name, definition)
      end
      .sort_by do |prop|
        prop.required ? -1 : 1
      end
    end

    panels.push({
      'description' => schema['title'] || schema['description'],
      'parameters' => schema['properties'],
      'oneOf' => schema['oneOf'],
      'x-tab-id' => "tab-#{SecureRandom.hex}",
      'active' => index == 0
    })
  end
%>

<div data-tab-content="<%= oneOfId %>" class="Vlt-btn-group">
  <strong>Choose an option:</strong>
  <ul class="Vlt-list Vlt-list--simple">
    <% panels.each do |panel| %>
      <li data-tab-link="<%= panel['x-tab-id'] %>" class="Vlt-js-tabs__link">
        <%= panel['description'] %>
      </li>
    <% end %>
  </ul>
</div>

<div id="<%= oneOfId %>">
  <% panels.each do |panel| %>
    <div class="Vlt-js-tabs__panel <%= panel['active'] ? 'Vlt-tabs__panel_active' : '' %>">
      <%
        # Nested oneOf?
        if panel['oneOf']
      %>
        <%= erb :'open_api/_tabbed_parameters', locals: { parent: parent, body: body, schema: panel['oneOf'], format: format, callback: callback } %>
      <%
        else
      %>

        <%= erb :'open_api/_parameters', locals: { parent: parent, parameters: panel['parameters'], callback: callback } %>
      <% end %>
    </div>
  <% end %>
</div>

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
nexmo-oas-renderer-2.7.2 lib/nexmo/oas/renderer/views/open_api/_tabbed_single_parameter.erb
nexmo-oas-renderer-2.7.1 lib/nexmo/oas/renderer/views/open_api/_tabbed_single_parameter.erb
nexmo-oas-renderer-2.7.0 lib/nexmo/oas/renderer/views/open_api/_tabbed_single_parameter.erb
nexmo-oas-renderer-2.6.0 lib/nexmo/oas/renderer/views/open_api/_tabbed_single_parameter.erb
nexmo-oas-renderer-2.5.0 lib/nexmo/oas/renderer/views/open_api/_tabbed_single_parameter.erb
nexmo-oas-renderer-2.4.1 lib/nexmo/oas/renderer/views/open_api/_tabbed_single_parameter.erb
nexmo-oas-renderer-2.4.0 lib/nexmo/oas/renderer/views/open_api/_tabbed_single_parameter.erb
nexmo-oas-renderer-2.3.0 lib/nexmo/oas/renderer/views/open_api/_tabbed_single_parameter.erb
nexmo-oas-renderer-2.2.0 lib/nexmo/oas/renderer/views/open_api/_tabbed_single_parameter.erb
nexmo-oas-renderer-2.1.3 lib/nexmo/oas/renderer/views/open_api/_tabbed_single_parameter.erb
nexmo-oas-renderer-2.1.2 lib/nexmo/oas/renderer/views/open_api/_tabbed_single_parameter.erb
nexmo-oas-renderer-2.1.1 lib/nexmo/oas/renderer/views/open_api/_tabbed_single_parameter.erb
nexmo-oas-renderer-2.1.0 lib/nexmo/oas/renderer/views/open_api/_tabbed_single_parameter.erb
nexmo-oas-renderer-2.0.1 lib/nexmo/oas/renderer/views/open_api/_tabbed_single_parameter.erb
nexmo-oas-renderer-2.0.0 lib/nexmo/oas/renderer/views/open_api/_tabbed_single_parameter.erb