keycloak tests

by toubia95

HTML

<div class="col-md-5">
  <table class="table table-striped table-bordered" style="margin-bottom: 0">
    <thead>
      <tr>
        <th class="kc-table-actions" colspan="5">

          <div class="form-inline">
            <div>
              <label class="control-label ng-binding ng-scope">Available Groups <i class="fa fa-question-circle text-muted ng-scope" tooltip="Groups a user can join. Select a group and click the join button." tooltip-placement="right" tooltip-trigger="mouseover mouseout"></i></label>
              <kc-tooltip class="hidden"></kc-tooltip>
            </div>
            <div class="pull-left">
              <div class="input-group">
                <input type="text" placeholder="Search..." ng-model="searchCriteria" class="form-control search ng-pristine ng-untouched ng-valid ng-empty" onkeydown="if (event.keyCode == 13) document.getElementById('groupSearch').click()">
                <div class="input-group-addon">
                  <i class="fa fa-search" id="groupSearch_availablegroups" ng-click="searchGroup()"></i>
                </div>
              </div>
            </div>
            &nbsp;
            <button id="viewAllGroups" class="btn btn-default ng-binding" ng-click="clearSearch()">View all groups</button>
            <div class="pull-right" data-ng-show="user.access.manageGroupMembership">
              <button id="joinGroup" class="btn btn-default ng-binding" ng-click="joinGroup()">Join</button>
            </div>
          </div>
        </th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>
          <div tree-id="tree" angular-treeview="true" tree-model="groupList" node-id="id" node-label="name" node-children="subGroups">
            <ul class="ng-scope">
              <!-- ngRepeat: node in groupList -->
              <li data-ng-repeat="node in groupList" class="ng-scope"><i ng-class="getGroupClass(node)" data-ng-click="tree.selectNodeHead(node)" class="expanded"></i><span...

CSS

/*
keycloak
https://carl-topham.com/theblog/post/creating-chrome-extension-uses-jquery-manipulate-dom-page/
*/


div[tree-id="tree"] {
  counter-reset: section;
}

div[tree-id="tree"] > ul > li > span::before {
  counter-increment: section;
  content: counter(section) " - ";
}


/*
.depot {
  color: #333;
  padding: 0;
  text-transform: uppercase;
  font-weight: bold;
  border-bottom: solid 2px green;
}
*/

/*
.user {
  color: #333;
  padding: 0;
  font-weight: bold;
  border-left: solid 15px green;
  padding-left: 2px;
}
*/

JavaScript

$("i.deactivate")
	.closest("li[data-ng-repeat='node in groupList']")
  .children("span")
  .addClass("depot")
  .css('color','#333')
  .css('font-weight','bold')
  .css('text-transform','uppercase')
  .css('border-bottom','solid 2px green');
  
$("i.deactivate + span")
  .addClass("user")
  .css('color','#333')
  .css('font-weight','bold')
  .css('border-left','solid 15px green')
  .css('padding-left','2px');
 
$("i.deactivate + span:contains('users')").text('PEUT ACCÉDER');
$("i + span:contains('users')").text('inaccessible');
$("i + span:contains('administrators')").closest("li").hide();