graphdb-workbench
Version:
The web application for GraphDB APIs
197 lines (181 loc) • 9.31 kB
HTML
<link href="css/repositories.css?v=1.11.3-TR1" rel="stylesheet">
<link href="css/lib/bootstrap-switch/bootstrap-switch.min.css?v=1.11.3-TR1" rel="stylesheet">
<h1>
{{title}}
<span class="btn btn-link"
uib-popover-template="'js/angular/templates/titlePopoverTemplate.html'"
popover-trigger="mouseenter"
popover-placement="bottom-right"
popover-append-to-body="true"><span class="icon-info"></span></span>
</h1>
<div id="wb-repositories" class="ot-owlim-ctrl mb-2">
<div class="ot-loader ot-main-loader" onto-loader size="50" ng-show="false"></div>
<div ng-show="hasActiveLocation()">
<div class="pull-left">
<strong>Repositories from: </strong>
<em ng-show="getDegradedReason()" class="icon-warning icon-lg text-warning" uib-tooltip="{{getDegradedReason()}} Some operations may not be performed." tooltip-placement="right"></em>
<span class="mr-1">{{getActiveLocation().label}}</span>
</div>
<div class="actions-bar-inline pull-right">
<button
uib-tooltip="Edit common settings for these repositories"
tooltip-placement="top" tooltip-trigger="mouseenter"
class="btn btn-link px-0"
ng-click="openActiveLocationSettings()">
<span class="icon-settings"></span>
</button>
<a class="btn btn-link px-0 pull-right" href="license"
uib-tooltip="View or update license for these repositories"
tooltip-placement="top" tooltip-trigger="mouseenter">
<span class="icon-key"></span>
</a>
</div>
</div>
<div class="alert alert-danger" ng-show="getActiveLocation().errorMsg">
{{getActiveLocation().errorMsg}} Refresh the page to retry.
</div>
<div class="alert alert-warning" ng-hide="!getLocations().length || hasActiveLocation()">
{{ getLocationError() }}
</div>
<div ng-show="hasActiveLocation()" class="mb-3">
<div class="alert alert-warning no-repositories-alert" ng-hide="getRepositories().length || getActiveLocation().errorMsg">
There are no repositories in the active location
</div>
<div ng-show="getRepositories().length" class="mb-1">
<table id="wb-repositories-repositoryInGetRepositories" class="table table-hover table-striped" aria-describedby="Repositories table">
<tbody>
<tr class="repository"
ng-repeat="repository in getRepositories() | orderBy: ['type === \'system\'', 'id']"
ng-class="{'table-info text-secondary': getActiveRepository() == repository.id}">
<td width="25">
<span role="button" class="icon-connection-off icon-lg text-secondary m-0" uib-tooltip="Connect repository" tooltip-placement="top" tooltip-trigger="mouseenter"
ng-click="setRepository(repository.id)"
ng-if="getActiveRepository() !== repository.id"
data-repository-id="{{repository.id}}"></span>
<span role="button" class="icon-connection-on icon-lg text-tertiary"
uib-tooltip="Connected" tooltip-placement="top" tooltip-trigger="mouseenter"
ng-if="getActiveRepository() === repository.id"></span>
</td>
<td>
<div class="lead text-overflow" ng-mouseover="setPopoverRepo(repository)">
<span popover-popup-delay="500"
popover-trigger="mouseenter" popover-placement="bottom-right"
uib-popover-template="popoverTemplate" popover-title="Repository {{repository.id}}">
<span class="icon-lg" ng-class="'icon-repo-' + repository.type"></span>
<strong class="repository-id">{{repository.id}}</strong></span>
<span class="repository-status" class="small"><small> · <span class="text-secondary">{{repository.state}}</span></small></span>
<span class="small" ng-if="repository.title"><small> · {{repository.title}}</small></span>
</div>
</td>
<td width="150" class="text-nowrap repository-actions">
<button class="btn btn-link p-0"
ng-click="copyToClipboard(repository.externalUrl)"
uib-tooltip="Copy repository URL to clipboard">
<span class="icon-link"></span>
</button>
<span ng-show="getDegradedReason()">
<em class="icon-warning icon-lg text-warning"
uib-tooltip="{{getDegradedReason()}} Editing or deleting this repository is not supported."
tooltip-placement="top" tooltip-trigger="mouseenter"></em>
</span>
<span ng-hide="repository.type === 'system' || getDegradedReason()">
<a class="btn btn-link p-0 edit-repository-btn"
href="repository/edit/{{repository.id}}"
uib-tooltip="Edit repository"
tooltip-placement="top"
tooltip-trigger="mouseenter">
<span class="icon-edit"></span>
</a>
<a class="btn btn-link p-0 download-turtle-config download-repository-config-btn" ng-href="{{getRepositoryDownloadLink(repository)}}"
rel="noopener"
target="_blank"
uib-tooltip="Download repository configuration as Turtle"
tooltip-placement="top"
tooltip-trigger="mouseenter">
<em class="icon-download"></em>
</a>
<button class="btn btn-link p-0 restart-repository-btn" type="button"
uib-tooltip="Restart repository {{repository.id}}"
tooltip-placement="top"
tooltip-trigger="mouseenter"
ng-click="restartRepository(repository.id)">
<span class="icon-reload"></span>
</button>
<button class="btn btn-link p-0 secondary delete-repository-btn" type="button"
uib-tooltip="Delete repository"
tooltip-placement="top"
tooltip-trigger="mouseenter"
ng-click="deleteRepository(repository.id)">
<em class="icon-trash"></em>
</button>
</span>
</td>
<td width="50">
<button class="btn btn-link p-0 pin-repository-btn" ng-hide="repository.type === 'system'"
ng-click="toggleDefaultRepository(repository.id)"
ng-class="getDefaultRepository() === repository.id ? 'active' : ''"
uib-tooltip="Set as default repository">
<em class="icon-pin"></em>
</button>
</td>
</tr>
</tbody>
</table>
</div>
<div ng-hide="getDegradedReason()" class="btn-group" uib-dropdown>
<a id="wb-repositories-addRepositoryLink" class="btn btn-primary" ng-href="repository/create"><span class="icon-plus"></span> Create new repository</a>
<button type="button" class="btn btn-primary dropdown-toggle-split dropdown-toggle" uib-dropdown-toggle>
<span class="sr-only">Split button!</span>
</button>
<ul class="dropdown-menu" role="menu">
<!--<li><a class="dropdown-item" ng-href="repository/add">Form</a></li>-->
<li><a class="dropdown-item" href ng-click="fromFile()">Create from file</a></li>
</ul>
</div>
</div>
<div ng-show="isAdmin()">
<h3 ng-show="getLocations().length">Repository locations</h3>
<table class="table table-hover table-striped locations-table" ng-show="getLocations().length" aria-describedby="Locations table">
<tbody>
<tr
ng-repeat="location in getLocations() | orderBy: 'uri'"
ng-class="{'table-info text-secondary':location.active}">
<td width="25">
<span role="button" class="icon-connection-off icon-lg text-secondary m-0"
uib-tooltip="Activate location" tooltip-placement="top" tooltip-trigger="mouseenter"
ng-click="activateLocation(location)"
ng-if="!location.active"></span>
<span class="icon-connection-on icon-lg text-tertiary"
uib-tooltip="Activated" tooltip-placement="top" tooltip-trigger="mouseenter"
ng-if="location.active"></span>
</td>
<td>
<div class="text-overflow">
<strong>{{location.label}}</strong>
</div>
<div ng-show="!location.active && location.errorMsg">{{location.errorMsg}} Activate to try again.</div>
</td>
<td width="150" class="text-nowrap">
<button class="btn btn-link p-0"
uib-tooltip="Edit location" tooltip-placement="top" tooltip-trigger="mouseenter"
ng-hide="location.local"
ng-click="editLocation(location)">
<em class="icon-edit"></em>
</button>
<button class="btn btn-link p-0 secondary"
uib-tooltip="Detach location" tooltip-placement="top" tooltip-trigger="mouseenter"
ng-hide="location.system"
ng-click="deleteLocation(location.uri)">
<em class="icon-close"></em>
</button>
</td>
<td width="50"></td>
</tr>
</tbody>
</table>
<button id="addLocation" ng-click="addLocation()" class="btn btn-primary"><span class="icon-plus"></span> Attach remote location</button>
<p class="text-muted" ng-hide="getLocations().length">
<em>There are no connected GraphDB instances.</em>
</p>
</div>
</div>