KEYCLOAK-2566 kc-action-cell action buttons don't appear on IE
This commit is contained in:
parent
2bddd9ad34
commit
8270c0a19a
20 changed files with 46 additions and 112 deletions
|
@ -1730,7 +1730,7 @@ module.controller('ClientTemplateTabCtrl', function(Dialog, $scope, Current, Not
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
module.controller('ClientTemplateListCtrl', function($scope, realm, templates, ClientTemplate, serverInfo, $route, Dialog, Notifications) {
|
module.controller('ClientTemplateListCtrl', function($scope, realm, templates, ClientTemplate, serverInfo, $route, Dialog, Notifications, $location) {
|
||||||
$scope.realm = realm;
|
$scope.realm = realm;
|
||||||
$scope.templates = templates;
|
$scope.templates = templates;
|
||||||
|
|
||||||
|
|
|
@ -61,12 +61,8 @@
|
||||||
<tr ng-repeat="node in nodeRegistrations">
|
<tr ng-repeat="node in nodeRegistrations">
|
||||||
<td><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/clustering/{{node.host}}">{{node.host}}</a></td>
|
<td><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/clustering/{{node.host}}">{{node.host}}</a></td>
|
||||||
<td>{{node.lastRegistration}}</td>
|
<td>{{node.lastRegistration}}</td>
|
||||||
<td class="kc-action-cell">
|
<td class="kc-action-cell" kc-open="/realms/{{realm.realm}}/clients/{{client.id}}/clustering/{{node.host}}">{{:: 'edit' | translate}}</td>
|
||||||
<button class="btn btn-default btn-block btn-sm" kc-open="/realms/{{realm.realm}}/clients/{{client.id}}/clustering/{{node.host}}">{{:: 'edit' | translate}}</button>
|
<td class="kc-action-cell" data-ng-click="removeNode(node)">{{:: 'delete' | translate}}</td>
|
||||||
</td>
|
|
||||||
<td class="kc-action-cell">
|
|
||||||
<button class="btn btn-default btn-block btn-sm" data-ng-click="removeNode(node)">{{:: 'delete' | translate}}</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr data-ng-show="!nodeRegistrations || nodeRegistrations.length == 0">
|
<tr data-ng-show="!nodeRegistrations || nodeRegistrations.length == 0">
|
||||||
<td class="text-muted">{{:: 'no-registered-cluster-nodes' | translate}}</td>
|
<td class="text-muted">{{:: 'no-registered-cluster-nodes' | translate}}</td>
|
||||||
|
|
|
@ -37,9 +37,7 @@
|
||||||
<td><span data-ng-show="ia.expiration > 0">{{((ia.timestamp + ia.expiration) * 1000)|date:'shortDate'}} {{((ia.timestamp + ia.expiration) * 1000)|date:'mediumTime'}}</span></td>
|
<td><span data-ng-show="ia.expiration > 0">{{((ia.timestamp + ia.expiration) * 1000)|date:'shortDate'}} {{((ia.timestamp + ia.expiration) * 1000)|date:'mediumTime'}}</span></td>
|
||||||
<td>{{ia.count}}</td>
|
<td>{{ia.count}}</td>
|
||||||
<td>{{ia.remainingCount}}</td>
|
<td>{{ia.remainingCount}}</td>
|
||||||
<td class="kc-action-cell">
|
<td class="kc-action-cell" data-ng-click="remove(ia.id)">{{:: 'delete' | translate}}</td>
|
||||||
<button class="btn btn-default btn-block btn-sm" data-ng-click="remove(ia.id)">{{:: 'delete' | translate}}</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr data-ng-show="(clients | filter:search).length == 0">
|
<tr data-ng-show="(clients | filter:search).length == 0">
|
||||||
<td class="text-muted" colspan="3" data-ng-show="search.clientId">{{:: 'no-results' | translate}}</td>
|
<td class="text-muted" colspan="3" data-ng-show="search.clientId">{{:: 'no-results' | translate}}</td>
|
||||||
|
|
|
@ -40,15 +40,9 @@
|
||||||
<a href="{{client.rootUrl}}{{client.baseUrl}}" target="_blank" data-ng-show="client.baseUrl">{{client.rootUrl}}{{client.baseUrl}}</a>
|
<a href="{{client.rootUrl}}{{client.baseUrl}}" target="_blank" data-ng-show="client.baseUrl">{{client.rootUrl}}{{client.baseUrl}}</a>
|
||||||
<span data-ng-hide="client.baseUrl">{{:: 'not-defined' | translate}}</span>
|
<span data-ng-hide="client.baseUrl">{{:: 'not-defined' | translate}}</span>
|
||||||
</td>
|
</td>
|
||||||
<td class="kc-action-cell">
|
<td class="kc-action-cell" kc-open="/realms/{{realm.realm}}/clients/{{client.id}}">{{:: 'edit' | translate}}</td>
|
||||||
<button class="btn btn-default btn-block btn-sm" kc-open="/realms/{{realm.realm}}/clients/{{client.id}}">{{:: 'edit' | translate}}</button>
|
<td class="kc-action-cell" data-ng-click="exportClient(client)">{{:: 'export' | translate}}</td>
|
||||||
</td>
|
<td class="kc-action-cell" data-ng-click="removeClient(client)">{{:: 'delete' | translate}}</td>
|
||||||
<td class="kc-action-cell">
|
|
||||||
<button class="btn btn-default btn-block btn-sm" data-ng-click="exportClient(client)">{{:: 'export' | translate}}</button>
|
|
||||||
</td>
|
|
||||||
<td class="kc-action-cell">
|
|
||||||
<button class="btn btn-default btn-block btn-sm" data-ng-click="removeClient(client)">{{:: 'delete' | translate}}</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr data-ng-show="(clients | filter:search).length == 0">
|
<tr data-ng-show="(clients | filter:search).length == 0">
|
||||||
<td class="text-muted" colspan="3" data-ng-show="search.clientId">{{:: 'no-results' | translate}}</td>
|
<td class="text-muted" colspan="3" data-ng-show="search.clientId">{{:: 'no-results' | translate}}</td>
|
||||||
|
|
|
@ -54,12 +54,8 @@
|
||||||
<td><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/mappers/{{mapper.id}}">{{mapper.name}}</a></td>
|
<td><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/mappers/{{mapper.id}}">{{mapper.name}}</a></td>
|
||||||
<td>{{mapperTypes[mapper.protocolMapper].category}}</td>
|
<td>{{mapperTypes[mapper.protocolMapper].category}}</td>
|
||||||
<td>{{mapperTypes[mapper.protocolMapper].name}}</td>
|
<td>{{mapperTypes[mapper.protocolMapper].name}}</td>
|
||||||
<td class="kc-action-cell">
|
<td class="kc-action-cell" kc-open="/realms/{{realm.realm}}/clients/{{client.id}}/mappers/{{mapper.id}}">{{:: 'edit' | translate}}</td>
|
||||||
<button class="btn btn-default btn-block btn-sm" kc-open="/realms/{{realm.realm}}/clients/{{client.id}}/mappers/{{mapper.id}}">{{:: 'edit' | translate}}</button>
|
<td class="kc-action-cell" data-ng-click="removeMapper(mapper)">{{:: 'delete' | translate}}</td>
|
||||||
</td>
|
|
||||||
<td class="kc-action-cell">
|
|
||||||
<button class="btn btn-default btn-block btn-sm" data-ng-click="removeMapper(mapper)">{{:: 'delete' | translate}}</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr data-ng-show="mappers.length == 0">
|
<tr data-ng-show="mappers.length == 0">
|
||||||
<td>{{:: 'no-mappers-available' | translate}}</td>
|
<td>{{:: 'no-mappers-available' | translate}}</td>
|
||||||
|
|
|
@ -28,12 +28,8 @@
|
||||||
<td><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/roles/{{role.id}}">{{role.name}}</a></td>
|
<td><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/roles/{{role.id}}">{{role.name}}</a></td>
|
||||||
<td translate="{{role.composite}}"></td>
|
<td translate="{{role.composite}}"></td>
|
||||||
<td>{{role.description}}</td>
|
<td>{{role.description}}</td>
|
||||||
<td class="kc-action-cell">
|
<td class="kc-action-cell" kc-open="/realms/{{realm.realm}}/clients/{{client.id}}/roles/{{role.id}}">{{:: 'edit' | translate}}</td>
|
||||||
<button class="btn btn-default btn-block btn-sm" kc-open="/realms/{{realm.realm}}/clients/{{client.id}}/roles/{{role.id}}">{{:: 'edit' | translate}}</button>
|
<td class="kc-action-cell" data-ng-click="removeRole(role)">{{:: 'delete' | translate}}</td>
|
||||||
</td>
|
|
||||||
<td class="kc-action-cell">
|
|
||||||
<button class="btn btn-default btn-block btn-sm" data-ng-click="removeRole(role)">{{:: 'delete' | translate}}</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr data-ng-show="!roles || roles.length == 0">
|
<tr data-ng-show="!roles || roles.length == 0">
|
||||||
<td>{{:: 'no-client-roles-available' | translate}}</td>
|
<td>{{:: 'no-client-roles-available' | translate}}</td>
|
||||||
|
|
|
@ -26,18 +26,14 @@
|
||||||
</tr>
|
</tr>
|
||||||
<tr data-ng-hide="clients.length == 0">
|
<tr data-ng-hide="clients.length == 0">
|
||||||
<th>{{:: 'name' | translate}}</th>
|
<th>{{:: 'name' | translate}}</th>
|
||||||
<th colspan="2">{{:: 'actions' | translate}}</th>
|
<th colspan="2" class="w-25">{{:: 'actions' | translate}}</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr ng-repeat="template in templates | filter:search | orderBy:'name'">
|
<tr ng-repeat="template in templates | filter:search | orderBy:'name'">
|
||||||
<td><a href="#/realms/{{realm.realm}}/client-templates/{{template.id}}">{{template.name}}</a></td>
|
<td><a href="#/realms/{{realm.realm}}/client-templates/{{template.id}}">{{template.name}}</a></td>
|
||||||
<td class="kc-action-cell">
|
<td class="kc-action-cell" kc-open="/realms/{{realm.realm}}/client-templates/{{template.id}}">{{:: 'edit' | translate}}</td>
|
||||||
<button class="btn btn-default btn-block btn-sm" kc-open="/realms/{{realm.realm}}/client-templates/{{template.id}}">{{:: 'edit' | translate}}</button>
|
<td class="kc-action-cell" data-ng-click="removeClientTemplate(template)">{{:: 'delete' | translate}}</td>
|
||||||
</td>
|
|
||||||
<td class="kc-action-cell">
|
|
||||||
<button class="btn btn-default btn-block btn-sm" data-ng-click="removeClientTemplate(template)">{{:: 'delete' | translate}}</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr data-ng-show="(clients | filter:search).length == 0">
|
<tr data-ng-show="(clients | filter:search).length == 0">
|
||||||
<td class="text-muted" colspan="3" data-ng-show="search.name">{{:: 'no-results' | translate}}</td>
|
<td class="text-muted" colspan="3" data-ng-show="search.name">{{:: 'no-results' | translate}}</td>
|
||||||
|
|
|
@ -40,12 +40,8 @@
|
||||||
<td><a href="#/realms/{{realm.realm}}/client-templates/{{template.id}}/mappers/{{mapper.id}}">{{mapper.name}}</a></td>
|
<td><a href="#/realms/{{realm.realm}}/client-templates/{{template.id}}/mappers/{{mapper.id}}">{{mapper.name}}</a></td>
|
||||||
<td>{{mapperTypes[mapper.protocolMapper].category}}</td>
|
<td>{{mapperTypes[mapper.protocolMapper].category}}</td>
|
||||||
<td>{{mapperTypes[mapper.protocolMapper].name}}</td>
|
<td>{{mapperTypes[mapper.protocolMapper].name}}</td>
|
||||||
<td class="kc-action-cell">
|
<td class="kc-action-cell" kc-open="/realms/{{realm.realm}}/client-templates/{{template.id}}/mappers/{{mapper.id}}">{{:: 'edit' | translate}}</td>
|
||||||
<button class="btn btn-default btn-block btn-sm" kc-open="/realms/{{realm.realm}}/client-templates/{{template.id}}/mappers/{{mapper.id}}">{{:: 'edit' | translate}}</button>
|
<td class="kc-action-cell" data-ng-click="removeMapper(mapper)">{{:: 'delete' | translate}}</td>
|
||||||
</td>
|
|
||||||
<td class="kc-action-cell">
|
|
||||||
<button class="btn btn-default btn-block btn-sm" data-ng-click="removeMapper(mapper)">{{:: 'delete' | translate}}</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr data-ng-show="mappers.length == 0">
|
<tr data-ng-show="mappers.length == 0">
|
||||||
<td>{{:: 'no-mappers-available' | translate}}</td>
|
<td>{{:: 'no-mappers-available' | translate}}</td>
|
||||||
|
|
|
@ -19,16 +19,12 @@
|
||||||
<tr ng-repeat="(key, value) in group.attributes">
|
<tr ng-repeat="(key, value) in group.attributes">
|
||||||
<td>{{key}}</td>
|
<td>{{key}}</td>
|
||||||
<td><input ng-model="group.attributes[key]" class="form-control" type="text" name="{{key}}" id="attribute-{{key}}" /></td>
|
<td><input ng-model="group.attributes[key]" class="form-control" type="text" name="{{key}}" id="attribute-{{key}}" /></td>
|
||||||
<td class="kc-action-cell">
|
<td class="kc-action-cell" data-ng-click="removeAttribute(key)">{{:: 'delete' | translate}}</td>
|
||||||
<button type="button" class="btn btn-default btn-block btn-sm" data-ng-click="removeAttribute(key)">{{:: 'delete' | translate}}</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><input ng-model="newAttribute.key" class="form-control" type="text" id="newAttributeKey" /></td>
|
<td><input ng-model="newAttribute.key" class="form-control" type="text" id="newAttributeKey" /></td>
|
||||||
<td><input ng-model="newAttribute.value" class="form-control" type="text" id="newAttributeValue" /></td>
|
<td><input ng-model="newAttribute.value" class="form-control" type="text" id="newAttributeValue" /></td>
|
||||||
<td class="kc-action-cell">
|
<td class="kc-action-cell" data-ng-click="addAttribute()" data-ng-disabled="!newAttribute.key.length || !newAttribute.value.length">{{:: 'add' | translate}}</td>
|
||||||
<button class="btn btn-default btn-block btn-sm" data-ng-click="addAttribute()" data-ng-disabled="!newAttribute.key.length || !newAttribute.value.length">{{:: 'add' | translate}}</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
@ -35,9 +35,7 @@
|
||||||
<td>{{user.lastName}}</td>
|
<td>{{user.lastName}}</td>
|
||||||
<td>{{user.firstName}}</td>
|
<td>{{user.firstName}}</td>
|
||||||
<td>{{user.email}}</td>
|
<td>{{user.email}}</td>
|
||||||
<td class="kc-action-cell">
|
<td class="kc-action-cell" kc-open="/realms/{{realm.realm}}/users/{{user.id}}">{{:: 'edit' | translate}}</td>
|
||||||
<button class="btn btn-default btn-block btn-sm" kc-open="/realms/{{realm.realm}}/users/{{user.id}}">{{:: 'edit' | translate}}</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr data-ng-show="!users || users.length == 0">
|
<tr data-ng-show="!users || users.length == 0">
|
||||||
<td class="text-muted" data-ng-show="searchLoaded && users.length == 0 && lastSearch != null">{{:: 'no-group-members' | translate}}</td>
|
<td class="text-muted" data-ng-show="searchLoaded && users.length == 0 && lastSearch != null">{{:: 'no-group-members' | translate}}</td>
|
||||||
|
|
|
@ -33,9 +33,7 @@
|
||||||
<input class="form-control" ng-model="p.value" ng-show="p.name != 'notUsername' "
|
<input class="form-control" ng-model="p.value" ng-show="p.name != 'notUsername' "
|
||||||
placeholder="{{:: 'no-value-assigned.placeholder' | translate}}" min="1" required>
|
placeholder="{{:: 'no-value-assigned.placeholder' | translate}}" min="1" required>
|
||||||
</td>
|
</td>
|
||||||
<td class="kc-action-cell">
|
<td class="kc-action-cell" ng-click="removePolicy($index)">{{:: 'delete' | translate}}</td>
|
||||||
<button class="btn btn-default btn-block btn-sm" ng-click="removePolicy($index)">{{:: 'delete' | translate}}</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
@ -34,12 +34,8 @@
|
||||||
<td>{{identityProvider.providerId}}</td>
|
<td>{{identityProvider.providerId}}</td>
|
||||||
<td translate="{{identityProvider.enabled}}"></td>
|
<td translate="{{identityProvider.enabled}}"></td>
|
||||||
<td>{{identityProvider.config.guiOrder}}</td>
|
<td>{{identityProvider.config.guiOrder}}</td>
|
||||||
<td class="kc-action-cell">
|
<td class="kc-action-cell" kc-open="/realms/{{realm.realm}}/identity-provider-settings/provider/{{identityProvider.providerId}}/{{identityProvider.alias}}">{{:: 'edit' | translate}}</td>
|
||||||
<button class="btn btn-default btn-block btn-sm" kc-open="/realms/{{realm.realm}}/identity-provider-settings/provider/{{identityProvider.providerId}}/{{identityProvider.alias}}">{{:: 'edit' | translate}}</button>
|
<td class="kc-action-cell" data-ng-click="removeIdentityProvider(identityProvider)">{{:: 'delete' | translate}}</td>
|
||||||
</td>
|
|
||||||
<td class="kc-action-cell">
|
|
||||||
<button class="btn btn-default btn-block btn-sm" data-ng-click="removeIdentityProvider(identityProvider)">{{:: 'delete' | translate}}</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
@ -38,12 +38,8 @@
|
||||||
<td><a href="#/realms/{{realm.realm}}/roles/{{role.id}}">{{role.name}}</a></td>
|
<td><a href="#/realms/{{realm.realm}}/roles/{{role.id}}">{{role.name}}</a></td>
|
||||||
<td translate="{{role.composite}}"></td>
|
<td translate="{{role.composite}}"></td>
|
||||||
<td>{{role.description}}</td>
|
<td>{{role.description}}</td>
|
||||||
<td class="kc-action-cell">
|
<td class="kc-action-cell" kc-open="/realms/{{realm.realm}}/roles/{{role.id}}">{{:: 'edit' | translate}}</td>
|
||||||
<button class="btn btn-default btn-block btn-sm" kc-open="/realms/{{realm.realm}}/roles/{{role.id}}">{{:: 'edit' | translate}}</button>
|
<td class="kc-action-cell" data-ng-click="removeRole(role)">{{:: 'delete' | translate}}</td>
|
||||||
</td>
|
|
||||||
<td class="kc-action-cell">
|
|
||||||
<button class="btn btn-default btn-block btn-sm" data-ng-click="removeRole(role)">{{:: 'delete' | translate}}</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr data-ng-show="(roles | filter:{name: searchQuery}).length == 0">
|
<tr data-ng-show="(roles | filter:{name: searchQuery}).length == 0">
|
||||||
<td class="text-muted" colspan="3" data-ng-show="searchQuery">{{:: 'no-results' | translate}}</td>
|
<td class="text-muted" colspan="3" data-ng-show="searchQuery">{{:: 'no-results' | translate}}</td>
|
||||||
|
|
|
@ -19,16 +19,12 @@
|
||||||
<tr ng-repeat="(key, value) in user.attributes | toOrderedMapSortedByKey">
|
<tr ng-repeat="(key, value) in user.attributes | toOrderedMapSortedByKey">
|
||||||
<td>{{key}}</td>
|
<td>{{key}}</td>
|
||||||
<td><input ng-model="user.attributes[key]" class="form-control" type="text" name="{{key}}" id="attribute-{{key}}" /></td>
|
<td><input ng-model="user.attributes[key]" class="form-control" type="text" name="{{key}}" id="attribute-{{key}}" /></td>
|
||||||
<td class="kc-action-cell">
|
<td class="kc-action-cell" data-ng-click="removeAttribute(key)">{{:: 'delete' | translate}}</td>
|
||||||
<button type="button" class="btn btn-default btn-block btn-sm" data-ng-click="removeAttribute(key)">{{:: 'delete' | translate}}</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><input ng-model="newAttribute.key" class="form-control" type="text" id="newAttributeKey" /></td>
|
<td><input ng-model="newAttribute.key" class="form-control" type="text" id="newAttributeKey" /></td>
|
||||||
<td><input ng-model="newAttribute.value" class="form-control" type="text" id="newAttributeValue" /></td>
|
<td><input ng-model="newAttribute.value" class="form-control" type="text" id="newAttributeValue" /></td>
|
||||||
<td class="kc-action-cell">
|
<td class="kc-action-cell" data-ng-click="addAttribute()" data-ng-disabled="!newAttribute.key.length || !newAttribute.value.length">{{:: 'add' | translate}}</td>
|
||||||
<button class="btn btn-default btn-block btn-sm" data-ng-click="addAttribute()" data-ng-disabled="!newAttribute.key.length || !newAttribute.value.length">{{:: 'add' | translate}}</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
@ -41,11 +41,7 @@
|
||||||
<span ng-if="!$first">, </span><a href="#/realms/{{realm.realm}}/users/{{user.id}}/offline-sessions/{{additionalGrant.client}}">{{additionalGrant.key}}</a>
|
<span ng-if="!$first">, </span><a href="#/realms/{{realm.realm}}/users/{{user.id}}/offline-sessions/{{additionalGrant.client}}">{{additionalGrant.key}}</a>
|
||||||
</span>
|
</span>
|
||||||
</td>
|
</td>
|
||||||
<td class="kc-action-cell">
|
<td class="kc-action-cell" ng-click="revokeConsent(consent.clientId)">{{:: 'revoke' | translate}}</td>
|
||||||
<button class="btn btn-default btn-block btn-sm" ng-click="revokeConsent(consent.clientId)">
|
|
||||||
<i class="pficon pficon-delete"></i> {{:: 'revoke' | translate}}
|
|
||||||
</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
@ -29,9 +29,7 @@
|
||||||
<td>{{identity.identityProvider}}</td>
|
<td>{{identity.identityProvider}}</td>
|
||||||
<td>{{identity.userId}}</td>
|
<td>{{identity.userId}}</td>
|
||||||
<td>{{identity.userName}}</td>
|
<td>{{identity.userName}}</td>
|
||||||
<td class="kc-action-cell">
|
<td class="kc-action-cell" ng-click="removeProviderLink(identity)">{{:: 'remove' | translate}}</td>
|
||||||
<button class="btn btn-default btn-block btn-sm" ng-click="removeProviderLink(identity)">{{:: 'remove' | translate}}</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr data-ng-show="federatedIdentities.length == 0">
|
<tr data-ng-show="federatedIdentities.length == 0">
|
||||||
<td>{{:: 'no-identity-provider-links-available' | translate}}</td>
|
<td>{{:: 'no-identity-provider-links-available' | translate}}</td>
|
||||||
|
|
|
@ -30,12 +30,8 @@
|
||||||
<td><a href="#/realms/{{realm.realm}}/user-federation/providers/{{instance.providerName}}/{{instance.id}}">{{instance.displayName}}</a></td>
|
<td><a href="#/realms/{{realm.realm}}/user-federation/providers/{{instance.providerName}}/{{instance.id}}">{{instance.displayName}}</a></td>
|
||||||
<td>{{instance.providerName|capitalize}}</td>
|
<td>{{instance.providerName|capitalize}}</td>
|
||||||
<td>{{instance.priority}}</td>
|
<td>{{instance.priority}}</td>
|
||||||
<td class="kc-action-cell">
|
<td class="kc-action-cell" kc-open="/realms/{{realm.realm}}/user-federation/providers/{{instance.providerName}}/{{instance.id}}">{{:: 'edit' | translate}}</td>
|
||||||
<button class="btn btn-default btn-block btn-sm" kc-open="/realms/{{realm.realm}}/user-federation/providers/{{instance.providerName}}/{{instance.id}}">{{:: 'edit' | translate}}</button>
|
<td class="kc-action-cell" data-ng-click="removeUserFederation(instance)">{{:: 'delete' | translate}}</td>
|
||||||
</td>
|
|
||||||
<td class="kc-action-cell">
|
|
||||||
<button class="btn btn-default btn-block btn-sm" data-ng-click="removeUserFederation(instance)">{{:: 'delete' | translate}}</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr data-ng-show="!instances || instances.length == 0">
|
<tr data-ng-show="!instances || instances.length == 0">
|
||||||
<td class="text-muted">{{:: 'no-user-federation-providers-configured' | translate}}</td>
|
<td class="text-muted">{{:: 'no-user-federation-providers-configured' | translate}}</td>
|
||||||
|
|
|
@ -53,15 +53,9 @@
|
||||||
<td class="clip">{{user.email}}</td>
|
<td class="clip">{{user.email}}</td>
|
||||||
<td class="clip">{{user.lastName}}</td>
|
<td class="clip">{{user.lastName}}</td>
|
||||||
<td class="clip">{{user.firstName}}</td>
|
<td class="clip">{{user.firstName}}</td>
|
||||||
<td class="kc-action-cell">
|
<td class="kc-action-cell" kc-open="/realms/{{realm.realm}}/users/{{user.id}}">{{:: 'edit' | translate}}</td>
|
||||||
<button class="btn btn-default btn-block btn-sm" kc-open="/realms/{{realm.realm}}/users/{{user.id}}">{{:: 'edit' | translate}}</button>
|
<td data-ng-show="access.impersonation" class="kc-action-cell" data-ng-click="impersonate(user.id)">{{:: 'impersonate' | translate}}</td>
|
||||||
</td>
|
<td data-ng-show="access.manageUsers" class="kc-action-cell" data-ng-click="removeUser(user)">{{:: 'delete' | translate}}</td>
|
||||||
<td data-ng-show="access.impersonation" class="kc-action-cell">
|
|
||||||
<button class="btn btn-default btn-block btn-sm" data-ng-click="impersonate(user.id)">{{:: 'impersonate' | translate}}</button>
|
|
||||||
</td>
|
|
||||||
<td data-ng-show="access.manageUsers" class="kc-action-cell">
|
|
||||||
<button class="btn btn-default btn-block btn-sm" data-ng-click="removeUser(user)">{{:: 'delete' | translate}}</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr data-ng-show="!users || users.length == 0">
|
<tr data-ng-show="!users || users.length == 0">
|
||||||
<td class="text-muted" data-ng-show="!users">{{:: 'users.instruction' | translate}}</td>
|
<td class="text-muted" data-ng-show="!users">{{:: 'users.instruction' | translate}}</td>
|
||||||
|
|
|
@ -34,9 +34,7 @@
|
||||||
</div>
|
</div>
|
||||||
</ul>
|
</ul>
|
||||||
</td>
|
</td>
|
||||||
<td class="kc-action-cell" data-ng-show="access.manageUsers">
|
<td class="kc-action-cell" data-ng-show="access.manageUsers" ng-click="logoutSession(session.id)">{{:: 'logout' | translate}}</td>
|
||||||
<button class="btn btn-default btn-block btn-sm" ng-click="logoutSession(session.id)">{{:: 'logout' | translate}}</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
@ -336,23 +336,23 @@ h1 i {
|
||||||
|
|
||||||
/* Action cell */
|
/* Action cell */
|
||||||
.kc-action-cell {
|
.kc-action-cell {
|
||||||
position: relative;
|
background-color: #eeeeee;
|
||||||
width: 100px;
|
background-image: linear-gradient(to bottom, #fafafa 0%, #ededed 100%);
|
||||||
|
background-repeat: repeat-x;
|
||||||
|
|
||||||
|
text-align: center;
|
||||||
|
vertical-align: middle;
|
||||||
|
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
|
||||||
|
cursor:pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.kc-action-cell .btn {
|
.kc-action-cell:hover {
|
||||||
border: none;
|
background-color: #eeeeee;
|
||||||
position: absolute;
|
background-image: none;
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.kc-sorter span {
|
.kc-sorter span {
|
||||||
|
|
Loading…
Reference in a new issue