apim-developer-portal2
Version:
API management developer portal
110 lines (98 loc) • 4.07 kB
HTML
<div class="form-inline search-input">
<div class="d-block flex-grow">
<div class="input-group">
<input type="search" role="searchbox" aria-label="Search APIs" placeholder="Search APIs" spellcheck="false" data-bind="textInput: pattern" />
<button type="button" class="search-button" aria-label="Search APIs">
<i class="icon icon-magnifier"></i>
</button>
</div>
<tag-input params="{ scope: 'apis', onChange: onTagsChange }"></tag-input>
</div>
<div class="form-group ml-auto">
<label for="groupByTag">Group by tag
<div class="switch">
<input id="groupByTag" type="checkbox" data-bind="checked: $component.groupByTag">
<span class="slider round"></span>
</div>
</label>
</div>
</div>
<div class="cards">
<!-- ko if: working -->
<div class="cards-body">
<spinner class="fit"></spinner>
</div>
<!-- /ko -->
<!-- ko ifnot: working -->
<div class="cards-body animation-fade-in">
<!-- ko if: groupByTag -->
<!-- ko foreach: { data: apiGroups, as: 'group' } -->
<div class="tag-group">
<span class="tag-item" role="group" data-bind="text: group.tag"></span>
</div>
<!-- ko foreach: { data: group.items, as: 'item' } -->
<a href="#" data-bind="attr: { href: $component.getReferenceUrl(item) }">
<div class="card card-default">
<h3>
<span data-bind="text: item.displayName"></span>
<!-- ko if: item.apiVersion -->
- <span data-bind="text: item.apiVersion"></span>
<!-- /ko -->
</h3>
<p class="tile-content" data-bind="markdown: { source: item.description, truncateAt: 250 }"></p>
</div>
</a>
<!-- /ko -->
<!-- /ko -->
<!-- ko if: apiGroups().length === 0 -->
<p>No APIs found</p>
<!-- /ko -->
<!-- /ko -->
<!-- ko ifnot: groupByTag -->
<!-- ko foreach: { data: apis, as: 'item' } -->
<a href="#" data-bind="attr: { href: $component.getReferenceUrl(item) }">
<div class="card card-default">
<h3>
<span data-bind="text: item.displayName"></span>
<!-- ko if: item.apiVersion -->
- <span data-bind="text: item.apiVersion"></span>
<!-- /ko -->
</h3>
<div class="tile line-clamp">
<p class="tile-content" data-bind="markdown: { source: item.description, truncateAt: 250 }"></p>
</div>
</div>
</a>
<!-- /ko -->
<!-- ko if: apis().length === 0 -->
<p>No APIs found</p>
<!-- /ko -->
<!-- /ko -->
</div>
<!-- /ko -->
<div class="cards-footer">
<!-- ko if: hasPager -->
<ul class="pagination" role="navigation" aria-label="Pagination">
<!-- ko if: hasPrevPage -->
<li class="page-item">
<a href="#" class="page-link" role="button" aria-label="Previous page"
data-bind="click: prevPage, enable: hasPrevPage">
<i class="icon icon-chevron-left"></i>
</a>
</li>
<!-- /ko -->
<li class="page-item">
<span class="page-link" data-bind="text: page"></span>
</li>
<!-- ko if: hasNextPage -->
<li class="page-item">
<a href="#" class="page-link" role="button" aria-label="Next page"
data-bind="click: nextPage, enable: hasNextPage">
<i class="icon icon-chevron-right"></i>
</a>
</li>
<!-- /ko -->
</ul>
<!-- /ko -->
</div>
</div>