client-clustering.html 4.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
  2. <ol class="breadcrumb">
  3. <li><a href="#/realms/{{realm.realm}}/clients">{{:: 'clients' | translate}}</a></li>
  4. <li>{{client.clientId}}</li>
  5. </ol>
  6. <kc-tabs-client></kc-tabs-client>
  7. <form class="form-horizontal" name="clusteringForm" novalidate kc-read-only="!client.access.configure">
  8. <legend><span class="text">{{:: 'basic-configuration' | translate}}</span></legend>
  9. <fieldset >
  10. <div class="form-group clearfix">
  11. <label class="col-md-2 control-label" for="nodeReRegistrationTimeout">{{:: 'node-reregistration-timeout' | translate}}</label>
  12. <div class="col-sm-5">
  13. <div class="row">
  14. <div class="col-md-6 form-inline">
  15. <input class="form-control" type="number" required
  16. max="31536000" data-ng-model="client.nodeReRegistrationTimeout"
  17. id="nodeReRegistrationTimeout" name="nodeReRegistrationTimeout"/>
  18. <select class="form-control" name="nodeReRegistrationTimeoutUnit" data-ng-model="client.nodeReRegistrationTimeoutUnit" >
  19. <option data-ng-selected="!client.nodeReRegistrationTimeoutUnit" value="Seconds">{{:: 'seconds' | translate}}</option>
  20. <option value="Minutes">{{:: 'minutes' | translate}}</option>
  21. <option value="Hours">{{:: 'hours' | translate}}</option>
  22. <option value="Days">{{:: 'days' | translate}}</option>
  23. </select>
  24. </div>
  25. </div>
  26. </div>
  27. <kc-tooltip>{{:: 'node-reregistration-timeout.tooltip' | translate}}</kc-tooltip>
  28. </div>
  29. <div class="form-group">
  30. <div class="col-md-10 col-md-offset-2" data-ng-show="client.access.configure">
  31. <button data-kc-save data-ng-disabled="!changed">{{:: 'save' | translate}}</button>
  32. <button data-kc-reset data-ng-disabled="!changed">{{:: 'cancel' | translate}}</button>
  33. </div>
  34. </div>
  35. </fieldset>
  36. <fieldset>
  37. <legend><span class="text">{{:: 'registered-cluster-nodes' | translate}}</span></legend>
  38. <table class="table table-striped table-bordered">
  39. <thead>
  40. <tr>
  41. <th class="kc-table-actions" colspan="5" data-ng-show="client.access.configure">
  42. <div class="pull-right">
  43. <a class="btn btn-default" tooltip="Manually register cluster node. This is usually not needed as cluster node should be registered automatically by adapter"
  44. tooltip-trigger="mouseover mouseout" tooltip-placement="bottom" href="#/register-node/realms/{{realm.realm}}/clients/{{client.id}}/clustering">{{:: 'register-node-manually' | translate}}</a>
  45. <a class="btn btn-default" data-ng-click="testNodesAvailable()" data-ng-show="nodeRegistrations && nodeRegistrations.length > 0">{{:: 'test-cluster-availability' | translate}}</a>
  46. </div>
  47. </th>
  48. </tr>
  49. <tr data-ng-hide="!nodeRegistrations || nodeRegistrations.length == 0">
  50. <th>{{:: 'node-host' | translate}}</th>
  51. <th>{{:: 'last-registration' | translate}}</th>
  52. <th colspan="2">{{:: 'actions' | translate}}</th>
  53. </tr>
  54. </thead>
  55. <tbody>
  56. <tr ng-repeat="node in nodeRegistrations">
  57. <td><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/clustering/{{node.host}}">{{node.host}}</a></td>
  58. <td>{{node.lastRegistration}}</td>
  59. <td class="kc-action-cell" kc-open="/realms/{{realm.realm}}/clients/{{client.id}}/clustering/{{node.host}}">{{:: 'edit' | translate}}</td>
  60. <td class="kc-action-cell" data-ng-click="removeNode(node)">{{:: 'delete' | translate}}</td>
  61. </tr>
  62. <tr data-ng-show="!nodeRegistrations || nodeRegistrations.length == 0">
  63. <td class="text-muted">{{:: 'no-registered-cluster-nodes' | translate}}</td>
  64. </tr>
  65. </tbody>
  66. </table>
  67. </fieldset>
  68. </form>
  69. </div>
  70. <kc-menu></kc-menu>