Skip to content
Snippets Groups Projects
Commit 45479c22 authored by kbeyro's avatar kbeyro
Browse files

Improve domain group list

parent 47826c3f
Branches
Tags
No related merge requests found
import {Pipe, PipeTransform} from '@angular/core';
import {DomainGroup} from '../../model/domaingroup';
@Pipe({
name: 'searchDomainGroup'
})
export class SearchDomainGroupPipe implements PipeTransform {
transform(value: DomainGroup[], searchValue: string): any[] {
if (!value || !searchValue) {
return value
}
const result = [];
value.forEach( val => {
if (val.name.toLowerCase().includes(searchValue.toLowerCase()) ||
val.codename.toLowerCase().includes(searchValue.toLowerCase()) ||
val.domains.some(domain => domain.name.toLowerCase().includes(searchValue.toLowerCase()) ||
domain.codename.toLowerCase().includes(searchValue.toLowerCase()))
) {
result.push(val);
}
})
return result;
}
}
.pointer {cursor: pointer;}
.space-between {
display: flex;
justify-content: space-between;
}
.fa {
color: black;
}
.icon-black {
color: black;
cursor: pointer;
}
.icon-bigger{
font-size: x-large;
margin-left: 5px;
margin-right: 5px;
}
<div class="col-sm-12 col-sm-offset-1 col-sm 10 col-md-offset-1 col-md-10">
<h3>{{'DOMAINS.LIST.GROUPS' | translate}}</h3>
<button [routerLink]="['/admin/domains/groups/add']" class="btn btn-primary">{{ 'APPS_MANAGEMENT.ADD_BUTTON' | translate }}</button>
<hr>
<table class="table table-hover table-condensed" aria-describedby="Apps management table">
<div class="flex space-between">
<div class="flex">
<a *roles="['ROLE_SYSTEM_ADMIN']" [routerLink]="['/admin/domains/groups/add']" class="btn btn-primary"
role="button">{{'DOMAINS.ADD_BUTTON' | translate}}</a>
</div>
<!-- <div *roles="['ROLE_SYSTEM_ADMIN']" class="flex" style="align-content: center; margin-top: 8px;">-->
<!-- <span style="align-content: center; margin-right: 5px;"> {{'DOMAINS.NOTACTIVE' | translate}}</span>-->
<!-- <p-checkbox id="showNotActive" [binary]="true" [(ngModel)]=" showNotActive"></p-checkbox>-->
<!-- </div>-->
<div class="flex">
<input pInputText class="flex" name="search" id="search" placeholder="Search" type="text" style="height: 34px" [(ngModel)]="searchValue">
</div>
</div>
<table class="table table-hover table-condensed" aria-describedby="Apps management table" style="margin-top: 20px;">
<thead>
<tr>
<th scope="col"></th>
......@@ -14,14 +25,14 @@
</thead>
<tbody>
<ng-template ngFor let-domainGroup [ngForOf]="groups" let-i="index">
<tr class="table-row" (click)="clickTableRow(i)">
<td style="width: 5%" *ngIf="!domainsRowVisible[i]"><span class="glyphicon glyphicon-chevron-right"></span></td>
<td style="width: 5%" *ngIf="domainsRowVisible[i]"><span class="glyphicon glyphicon-chevron-down"></span></td>
<td style="width: 25%">{{domainGroup?.name}}</td>
<td style="width: 20%">{{domainGroup?.codename}}</td>
<td style="width: 15%"></td>
<td style="width: 15%"></td>
<ng-template ngFor let-domainGroup [ngForOf]="groups | searchDomainGroup: searchValue" let-i="index">
<tr class="table-row" >
<td style="width: 5%" (click)="clickTableRow(i)" *ngIf="!domainsRowVisible[i]"><span class="glyphicon glyphicon-chevron-right"></span></td>
<td style="width: 5%" (click)="clickTableRow(i)" *ngIf="domainsRowVisible[i]"><span class="glyphicon glyphicon-chevron-down"></span></td>
<td style="width: 25%" (click)="clickTableRow(i)">{{domainGroup?.name}}</td>
<td style="width: 20%" (click)="clickTableRow(i)">{{domainGroup?.codename}}</td>
<td style="width: 15%" (click)="clickTableRow(i)"></td>
<td style="width: 15%" (click)="clickTableRow(i)"></td>
<td style="width: 20%" class="text-right">
<span class="dropdown">
<a style="display: inline-block" class="dropdown-toggle " aria-expanded="false" aria-haspopup="true" data-toggle="dropdown" href="#" role="button">
......
......@@ -14,6 +14,7 @@ export class DomainGroupsComponent implements OnInit {
public groups: DomainGroup[] = [];
public domainsRowVisible: boolean[] = []
public searchValue: string;
constructor(private domainService: DomainService) { }
......
......@@ -23,6 +23,7 @@ import { DomainGroupViewComponent } from './domain-group-view/domain-group-view.
import {DropdownModule} from 'primeng/dropdown';
import {MultiSelectModule} from 'primeng/multiselect';
import { RemovalConfirmationModalComponent } from './modals/removal-confirmation-modal/removal-confirmation-modal.component';
import {SearchDomainGroupPipe} from './domain-group-search.pipe';
......@@ -34,6 +35,7 @@ import { RemovalConfirmationModalComponent } from './modals/removal-confirmation
DomainGroupsComponent,
DomainGroupViewComponent,
RemovalConfirmationModalComponent,
SearchDomainGroupPipe
],
imports: [
CommonModule,
......@@ -52,7 +54,8 @@ import { RemovalConfirmationModalComponent } from './modals/removal-confirmation
],
exports: [
DomainsListComponent,
SearchDomainPipe
SearchDomainPipe,
SearchDomainGroupPipe
],
providers: [
DomainService,
......
......@@ -38,9 +38,6 @@
<li *roles="['ROLE_SYSTEM_ADMIN']">
<a [routerLink]="['/admin/domains/deploy']">{{ 'NAVBAR.BULK_DEPLOYMENT_DOMAIN' | translate }}</a>
</li>
<li *roles="['ROLE_SYSTEM_ADMIN']">
<a [routerLink]="['/admin/domains/groups']">{{ 'NAVBAR.DOMAIN_GROUPS' | translate }}</a>
</li>
<li *roles="['ROLE_SYSTEM_ADMIN']">
<a [routerLink]="['/admin/domains/bulks']">{{ 'NAVBAR.PAST_BULK_DOMAIN' | translate }}</a>
</li>
......@@ -78,6 +75,9 @@
<li *roles="['ROLE_DOMAIN_ADMIN', 'ROLE_SYSTEM_ADMIN', 'ROLE_OPERATOR']"><a
[routerLink]="['/admin/domains']">{{ 'NAVBAR.DOMAINS' | translate }}</a>
</li>
<li *roles="['ROLE_SYSTEM_ADMIN']">
<a [routerLink]="['/admin/domains/groups']">{{ 'NAVBAR.DOMAIN_GROUPS' | translate }}</a>
</li>
<li *roles="['ROLE_SYSTEM_ADMIN']"><a
[routerLink]="['/admin/users']">{{ 'NAVBAR.USERS' | translate }}</a>
</li>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment