Added saved filters
parent
4016f00f78
commit
18ff06afb2
|
@ -139,4 +139,21 @@ export class DataService {
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getFilters(): Observable<any> {
|
||||||
|
return this.http.get<any>('http://127.0.0.1:8080/views?page=1&itemsPerPage=30').pipe(
|
||||||
|
map(response => {
|
||||||
|
if (response['hydra:member'] && Array.isArray(response['hydra:member'])) {
|
||||||
|
return response['hydra:member'];
|
||||||
|
} else {
|
||||||
|
throw new Error('Unexpected response format');
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
catchError(error => {
|
||||||
|
console.error('Error fetching filters', error);
|
||||||
|
return throwError(error);
|
||||||
|
})
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -122,17 +122,15 @@ mat-spinner {
|
||||||
align-self: center;
|
align-self: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
.container { /* Asegúrate de que esta clase sea la del contenedor del botón */
|
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
width: 200px;
|
|
||||||
}
|
}
|
||||||
.classroomBtn-container {
|
.classroomBtn-container {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
width: 100%; /* Asegura que el contenedor ocupe todo el ancho disponible */
|
width: 100%;
|
||||||
padding-right: 20px; /* Opcional: ajusta el espacio a la derecha */
|
padding-right: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.classroomBtn {
|
.classroomBtn {
|
||||||
|
|
|
@ -1,27 +1,27 @@
|
||||||
<mat-tab-group>
|
<mat-tab-group>
|
||||||
<mat-tab label="General" i18n-label="@@tabGeneralLabel">
|
<mat-tab label="General">
|
||||||
<div class="header-container">
|
<div class="header-container">
|
||||||
<h2 class="title" i18n="@@headerAdminGroups">Administrar grupos</h2>
|
<h2 class="title" i18n="@@adminGroupsTitle">Administrar grupos</h2>
|
||||||
<div class="groups-button-row">
|
<div class="groups-button-row">
|
||||||
<button mat-flat-button color="primary" (click)="addOU($event)" i18n="@@buttonNewOU">Nueva Unidad Organizativa</button>
|
<button mat-flat-button color="primary" (click)="addOU($event)" i18n="@@newOrganizationalUnitButton">Nueva Unidad Organizativa</button>
|
||||||
<button mat-flat-button color="primary" (click)="addClient($event)" i18n="@@buttonNewClient">Nuevo Cliente</button>
|
<button mat-flat-button color="primary" (click)="addClient($event)" i18n="@@newClientButton">Nuevo Cliente</button>
|
||||||
<button mat-raised-button (click)="openBottomSheet()" i18n="@@buttonLegend">Leyenda</button>
|
<button mat-raised-button (click)="openBottomSheet()" i18n="@@legendButton">Leyenda</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="classroomBtn-container">
|
<div class="container">
|
||||||
<button mat-flat-button class="classroomBtn" color="accent" (click)="roomMap()" *ngIf="selectedDetail && selectedDetail.type === 'classroom'" i18n="@@buttonRoomMap">Plano de aula</button>
|
<button mat-flat-button class="roomMap-btn" color="accent" (click)="roomMap()" *ngIf="selectedDetail && selectedDetail.type === 'classroom'" i18n="@@classroomMapButton">Plano de aula</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="search-container">
|
<div class="search-container">
|
||||||
<mat-form-field appearance="fill">
|
<mat-form-field appearance="fill">
|
||||||
<mat-label i18n="@@labelSearch">Búsqueda</mat-label>
|
<mat-label i18n="@@searchLabel">Búsqueda</mat-label>
|
||||||
<input matInput placeholder="Búsqueda" [(ngModel)]="searchTerm" (keyup.enter)="search()" i18n-placeholder="@@placeholderSearch">
|
<input matInput placeholder="Búsqueda" [(ngModel)]="searchTerm" (keyup.enter)="search()" i18n-placeholder="@@searchPlaceholder">
|
||||||
<mat-icon matSuffix>search</mat-icon>
|
<mat-icon matSuffix>search</mat-icon>
|
||||||
<mat-hint i18n="@@hintSearch">Pulsar 'enter' para buscar entre las unidades organizativas</mat-hint>
|
<mat-hint i18n="@@searchHint">Pulsar 'enter' para buscar entre las unidades organizativas</mat-hint>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
<div class="groupLists-container">
|
<div class="groupLists-container">
|
||||||
<mat-card class="card unidad-card">
|
<mat-card class="card unidad-card">
|
||||||
<mat-card-title i18n="@@cardTitleOU">Unidad organizativa</mat-card-title>
|
<mat-card-title i18n="@@organizationalUnitTitle">Unidad organizativa</mat-card-title>
|
||||||
<mat-card-content>
|
<mat-card-content>
|
||||||
<mat-spinner *ngIf="loading"></mat-spinner>
|
<mat-spinner *ngIf="loading"></mat-spinner>
|
||||||
<mat-list *ngIf="!loading">
|
<mat-list *ngIf="!loading">
|
||||||
|
@ -31,55 +31,60 @@
|
||||||
<mat-icon>apartment</mat-icon>
|
<mat-icon>apartment</mat-icon>
|
||||||
{{ unidad.name }}
|
{{ unidad.name }}
|
||||||
<span class="actions">
|
<span class="actions">
|
||||||
<mat-icon mat-button [matMenuTriggerFor]="menu" (click)="$event.stopPropagation()">menu</mat-icon>
|
<mat-icon mat-button [matMenuTriggerFor]="menu" (click)="$event.stopPropagation()">menu</mat-icon>
|
||||||
<mat-menu #menu="matMenu">
|
<mat-menu #menu="matMenu">
|
||||||
<button mat-menu-item (click)="onTreeClick($event, unidad)">
|
<button mat-menu-item (click)="onTreeClick($event, unidad)">
|
||||||
<mat-icon
|
<mat-icon
|
||||||
class="edit-icon"
|
class="edit-icon"
|
||||||
#tooltip="matTooltip"
|
#tooltip="matTooltip"
|
||||||
matTooltip="Visualizar en forma de arbol"
|
matTooltip="Visualizar en forma de arbol"
|
||||||
matTooltipHideDelay="0" i18n-matTooltip="@@tooltipViewTree">account_tree
|
matTooltipHideDelay="0"
|
||||||
</mat-icon>
|
i18n="@@viewTreeTooltip">account_tree
|
||||||
<span i18n="@@menuItemViewTree">Ver organigrama</span>
|
</mat-icon>
|
||||||
</button>
|
<span i18n="@@viewTreeMenu">Ver organigrama</span>
|
||||||
<button mat-menu-item (click)="onEditClick($event, unidad.type, unidad.uuid)">
|
</button>
|
||||||
<mat-icon
|
<button mat-menu-item (click)="onEditClick($event, unidad.type, unidad.uuid)">
|
||||||
class="edit-icon"
|
<mat-icon
|
||||||
#tooltip="matTooltip"
|
class="edit-icon"
|
||||||
matTooltip="Editar unidad organizativa"
|
#tooltip="matTooltip"
|
||||||
matTooltipHideDelay="0" i18n-matTooltip="@@tooltipEditOU">edit
|
matTooltip="Editar unidad organizativa"
|
||||||
</mat-icon>
|
matTooltipHideDelay="0"
|
||||||
<span i18n="@@menuItemEditOU">Editar</span>
|
i18n="@@editUnitTooltip">edit
|
||||||
</button>
|
</mat-icon>
|
||||||
<button mat-menu-item (click)="onShowClick($event, unidad)">
|
<span i18n="@@editUnitMenu">Editar</span>
|
||||||
<mat-icon
|
</button>
|
||||||
class="edit-icon"
|
<button mat-menu-item (click)="onShowClick($event, unidad)">
|
||||||
#tooltip="matTooltip"
|
<mat-icon
|
||||||
matTooltip="Visualizar unidad organizativa"
|
class="edit-icon"
|
||||||
matTooltipHideDelay="0" i18n-matTooltip="@@tooltipViewOU">visibility
|
#tooltip="matTooltip"
|
||||||
</mat-icon>
|
matTooltip="Visualizar unidad organizativa"
|
||||||
<span i18n="@@menuItemViewOU">Visualizar datos</span>
|
matTooltipHideDelay="0"
|
||||||
</button>
|
i18n="@@viewUnitTool">visibility
|
||||||
<button mat-menu-item (click)="addOU($event, unidad)">
|
</mat-icon>
|
||||||
<mat-icon
|
<span i18n="@@viewUnitMenu">Visualizar datos</span>
|
||||||
class="edit-icon"
|
</button>
|
||||||
#tooltip="matTooltip"
|
<button mat-menu-item (click)="addOU($event, unidad)">
|
||||||
matTooltip="Crear unidad organizativa interna"
|
<mat-icon
|
||||||
matTooltipHideDelay="0" i18n-matTooltip="@@tooltipAddOU">add_home_work
|
class="edit-icon"
|
||||||
</mat-icon>
|
#tooltip="matTooltip"
|
||||||
<span i18n="@@menuItemAddOU">Añadir unidad organizativa</span>
|
matTooltip="Crear unidad organizativa interna"
|
||||||
</button>
|
matTooltipHideDelay="0"
|
||||||
<button mat-menu-item (click)="addClient($event, unidad)">
|
i18n="@@addInternalUnitTool">add_home_work
|
||||||
<mat-icon
|
</mat-icon>
|
||||||
class="edit-icon"
|
<span i18n="@@addInternalUnitMenu">Añadir unidad organizativa</span>
|
||||||
#tooltip="matTooltip"
|
</button>
|
||||||
matTooltip="Crear cliente en esta unidad organizativa"
|
<button mat-menu-item (click)="addClient($event, unidad)">
|
||||||
matTooltipHideDelay="0" i18n-matTooltip="@@tooltipAddClient">devices
|
<mat-icon
|
||||||
</mat-icon>
|
class="edit-icon"
|
||||||
<span i18n="@@menuItemAddClient">Crear cliente</span>
|
#tooltip="matTooltip"
|
||||||
</button>
|
matTooltip="Crear cliente en esta unidad organizativa"
|
||||||
</mat-menu>
|
matTooltipHideDelay="0"
|
||||||
</span>
|
i18n="@@addClientDevice">devices
|
||||||
|
</mat-icon>
|
||||||
|
<span i18n="@@addClientMenu">Crear cliente</span>
|
||||||
|
</button>
|
||||||
|
</mat-menu>
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</mat-list-item>
|
</mat-list-item>
|
||||||
</mat-list>
|
</mat-list>
|
||||||
|
@ -88,7 +93,7 @@
|
||||||
<mat-card class="card elements-card">
|
<mat-card class="card elements-card">
|
||||||
<mat-card-title>
|
<mat-card-title>
|
||||||
<div class="title-with-breadcrumb">
|
<div class="title-with-breadcrumb">
|
||||||
<span i18n="@@cardTitleInternalElements">Elementos internos</span>
|
<span i18n="@@internalElementsTitle">Elementos internos</span>
|
||||||
<mat-card-subtitle>
|
<mat-card-subtitle>
|
||||||
<ng-container *ngFor="let crumb of breadcrumb; let i = index">
|
<ng-container *ngFor="let crumb of breadcrumb; let i = index">
|
||||||
<a (click)="navigateToBreadcrumb(i)">{{ crumb }}</a>
|
<a (click)="navigateToBreadcrumb(i)">{{ crumb }}</a>
|
||||||
|
@ -102,7 +107,7 @@
|
||||||
<mat-list *ngIf="!loadingChildren">
|
<mat-list *ngIf="!loadingChildren">
|
||||||
<div *ngIf="children.length === 0" class="empty-list">
|
<div *ngIf="children.length === 0" class="empty-list">
|
||||||
<mat-icon>info</mat-icon>
|
<mat-icon>info</mat-icon>
|
||||||
<span i18n="@@emptyListNoInternalElements">No hay elementos internos</span>
|
<span i18n="@@noInternalElementsMessage">No hay elementos internos</span>
|
||||||
</div>
|
</div>
|
||||||
<mat-list-item *ngFor="let child of children" [ngClass]="{'selected-item': child === selectedUnidad, 'clickable-item': true}" (click)="onSelectChild(child)">
|
<mat-list-item *ngFor="let child of children" [ngClass]="{'selected-item': child === selectedUnidad, 'clickable-item': true}" (click)="onSelectChild(child)">
|
||||||
<div class="item-content">
|
<div class="item-content">
|
||||||
|
@ -116,48 +121,112 @@
|
||||||
</mat-icon>
|
</mat-icon>
|
||||||
{{child.name}}
|
{{child.name}}
|
||||||
<span class="actions">
|
<span class="actions">
|
||||||
<mat-icon mat-button [matMenuTriggerFor]="menu" (click)="$event.stopPropagation()">menu</mat-icon>
|
<mat-icon mat-button [matMenuTriggerFor]="menu" (click)="$event.stopPropagation()">menu</mat-icon>
|
||||||
<mat-menu #menu="matMenu">
|
<mat-menu #menu="matMenu">
|
||||||
<button mat-menu-item (click)="onEditClick($event, child.type, child.uuid)">
|
<button mat-menu-item (click)="onEditClick($event, child.type, child.uuid)">
|
||||||
<mat-icon class="edit-icon" #tooltip="matTooltip" matTooltip="Editar elemento" matTooltipHideDelay="0" i18n-matTooltip="@@tooltipEditElement">edit</mat-icon>
|
<mat-icon class="edit-icon" #tooltip="matTooltip" matTooltip="Editar elemento" matTooltipHideDelay="0" i18n="@@editElementTooltip">edit</mat-icon>
|
||||||
<span i18n="@@menuItemEditElement">Editar</span>
|
<span i18n="@@editElementMenu">Editar</span>
|
||||||
</button>
|
</button>
|
||||||
<button *ngIf="child.type !== 'client'" mat-menu-item (click)="onShowClick($event, child)">
|
<button *ngIf="child.type !== 'client'" mat-menu-item (click)="onShowClick($event, child)">
|
||||||
<mat-icon class="edit-icon" #tooltip="matTooltip" matTooltip="Visualizar unidad organizativa" matTooltipHideDelay="0" i18n-matTooltip="@@tooltipViewOUElement">visibility</mat-icon>
|
<mat-icon class="edit-icon" #tooltip="matTooltip" matTooltip="Visualizar unidad organizativa" matTooltipHideDelay="0" i18n="@@viewUnitTooltip">visibility</mat-icon>
|
||||||
<span i18n="@@menuItemViewOUElement">Visualizar datos</span>
|
<span i18n="@@viewUnitMenu">Visualizar datos</span>
|
||||||
</button>
|
</button>
|
||||||
<button *ngIf="child.type !== 'client'" mat-menu-item (click)="addOU($event, child)">
|
<button *ngIf="child.type !== 'client'" mat-menu-item (click)="addOU($event, child)">
|
||||||
<mat-icon class="edit-icon" #tooltip="matTooltip" matTooltip="Crear unidad organizativa interna" matTooltipHideDelay="0" i18n-matTooltip="@@tooltipAddOUElement">add_home_work</mat-icon>
|
<mat-icon class="edit-icon" #tooltip="matTooltip" matTooltip="Crear unidad organizativa interna" matTooltipHideDelay="0" i18n="@@addInternalUnitTooltip">add_home_work</mat-icon>
|
||||||
<span i18n="@@menuItemAddOUElement">Añadir unidad organizativa</span>
|
<span i18n="@@addInternalUnitMenu">Añadir unidad organizativa</span>
|
||||||
</button>
|
</button>
|
||||||
<button *ngIf="child.type !== 'client'" mat-menu-item (click)="addClient($event, child)">
|
<button *ngIf="child.type !== 'client'" mat-menu-item (click)="addClient($event, child)">
|
||||||
<mat-icon class="edit-icon" #tooltip="matTooltip" matTooltip="Crear cliente en esta unidad organizativa" matTooltipHideDelay="0" i18n-matTooltip="@@tooltipAddClientElement">devices</mat-icon>
|
<mat-icon class="edit-icon" #tooltip="matTooltip" matTooltip="Crear cliente en esta unidad organizativa" matTooltipHideDelay="0" i18n="@@addClientTooltip">devices</mat-icon>
|
||||||
<span i18n="@@menuItemAddClientElement">Crear cliente</span>
|
<span i18n="@@addClientMenu">Crear cliente</span>
|
||||||
</button>
|
</button>
|
||||||
<button mat-menu-item (click)="onDeleteClick($event, child.uuid, child.name, child.type)">
|
<button mat-menu-item (click)="onDeleteClick($event, child.uuid, child.name, child.type)">
|
||||||
<mat-icon class="delete-icon" #tooltip="matTooltip" matTooltip="Borrar elemento" matTooltipHideDelay="0" i18n-matTooltip="@@tooltipDeleteElement">delete</mat-icon>
|
<mat-icon class="delete-icon" #tooltip="matTooltip" matTooltip="Borrar elemento" matTooltipHideDelay="0" i18n="@@deleteElementTooltip">delete</mat-icon>
|
||||||
<span i18n="@@menuItemDeleteElement">Borrar elemento</span>
|
<span i18n="@@deleteElementMenu">Borrar elemento</span>
|
||||||
</button>
|
</button>
|
||||||
</mat-menu>
|
</mat-menu>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</mat-list-item>
|
</mat-list-item>
|
||||||
</mat-list>
|
</mat-list>
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
</mat-card>
|
</mat-card>
|
||||||
<!-- <app-classroom-view class="card classroom-view" [clients]="clientsData" [pcInTable]="5"></app-classroom-view> -->
|
|
||||||
</div>
|
</div>
|
||||||
</mat-tab>
|
</mat-tab>
|
||||||
<mat-tab label="Búsqueda avanzada" i18n-label="@@tabAdvancedSearchLabel">
|
<mat-tab label="Búsqueda avanzada">
|
||||||
<h2 class="title" i18n="@@headerSearch">Búsqueda</h2>
|
<h2 class="title" i18n="@@searchTitle">Búsqueda</h2>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-label i18n="@@labelSelectFilter">Seleccione filtro</mat-label>
|
<mat-label i18n="@@selectFilterLabel">Seleccione filtro</mat-label>
|
||||||
<mat-select (selectionChange)="loadSelectedFilter($event.value)">
|
<mat-select (selectionChange)="loadSelectedFilter($event.value)">
|
||||||
<mat-option *ngFor="let savedFilter of savedFilters" [value]="savedFilter">
|
<mat-option *ngFor="let savedFilter of savedFilterNames" [value]="savedFilter">
|
||||||
{{ savedFilter.name }}
|
{{ savedFilter }}
|
||||||
</mat-option>
|
</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
|
<mat-divider class="divider"></mat-divider>
|
||||||
|
<div class="main-content">
|
||||||
|
<div class="filters">
|
||||||
|
<mat-form-field>
|
||||||
|
<mat-label i18n="@@selectOptionLabel">Selecciona una opción</mat-label>
|
||||||
|
<mat-select [(value)]="selectedFilter1" (selectionChange)="applyFilter()">
|
||||||
|
<mat-option value="ou" i18n="@@organizationalUnitsOption">Unidades organizativas</mat-option>
|
||||||
|
<mat-option value="client" i18n="@@clientsOption">Clientes</mat-option>
|
||||||
|
</mat-select>
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field class="example-full-width">
|
||||||
|
<mat-label i18n="@@nameLabel">Nombre</mat-label>
|
||||||
|
<input matInput placeholder="Unidad organizativa" (input)="applyFilter()" [(ngModel)]="filterName" i18n-placeholder="@@namePlaceholder">
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field [disabled]="selectedFilter1 === 'ou'">
|
||||||
|
<mat-label i18n="@@unitTypeLabel">Tipo de unidad</mat-label>
|
||||||
|
<mat-select [(value)]="selectedFilter2" (selectionChange)="applyFilter()">
|
||||||
|
<mat-option value="organizational-unit" i18n="@@organizationalUnitOption">Unidad organizativa</mat-option>
|
||||||
|
<mat-option value="classroom-group" i18n="@@classroomsGroupOption">Grupos de aulas</mat-option>
|
||||||
|
<mat-option value="classroom" i18n="@@classroomOption">Aulas</mat-option>
|
||||||
|
<mat-option value="client-group" i18n="@@clientGroupOption">Grupos de clientes</mat-option>
|
||||||
|
</mat-select>
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field>
|
||||||
|
<mat-label i18n="@@selectAnotherOptionLabel">Selecciona otra opción</mat-label>
|
||||||
|
<mat-select [(value)]="selectedFilter1" (selectionChange)="applyFilter()">
|
||||||
|
<mat-option value="none" i18n="@@noneOption">Ninguno</mat-option>
|
||||||
|
<mat-option value="option1" i18n="@@option1">Opción 1</mat-option>
|
||||||
|
<mat-option value="option2" i18n="@@option2">Opción 2</mat-option>
|
||||||
|
<mat-option value="option3" i18n="@@option3">Opción 3</mat-option>
|
||||||
|
</mat-select>
|
||||||
|
</mat-form-field>
|
||||||
|
<button mat-raised-button color="primary" (click)="saveFilters()" i18n="@@saveFiltersButton">Guardar Filtros</button>
|
||||||
|
</div>
|
||||||
|
<div class="results">
|
||||||
|
<ng-container *ngIf="filteredResults && filteredResults.length > 0; else noResults">
|
||||||
|
<mat-grid-list cols="4" rowHeight="1:1">
|
||||||
|
<mat-grid-tile *ngFor="let result of filteredResults">
|
||||||
|
<mat-card class="result-card">
|
||||||
|
<mat-card-title>{{ result.name }}</mat-card-title>
|
||||||
|
<mat-card-content>
|
||||||
|
<p>{{ result.type }}</p>
|
||||||
|
<p *ngIf="result.type !== 'client'" i18n="@@internalUnits">Unidades internas: {{ result.type !== 'client' ? result.children.length : 0}}</p>
|
||||||
|
<p *ngIf="result.type !== 'client'" i18n="@@clients">Clientes: {{ result.type !== 'client' ? result.clients.length : 0}}</p>
|
||||||
|
</mat-card-content>
|
||||||
|
</mat-card>
|
||||||
|
</mat-grid-tile>
|
||||||
|
</mat-grid-list>
|
||||||
|
<div class="paginator-container">
|
||||||
|
<mat-paginator [length]="length"
|
||||||
|
[pageSize]="itemsPerPage"
|
||||||
|
[pageIndex]="page"
|
||||||
|
[pageSizeOptions]="pageSizeOptions"
|
||||||
|
(page)="onPageChange($event)">
|
||||||
|
</mat-paginator>
|
||||||
|
</div>
|
||||||
|
</ng-container>
|
||||||
|
<ng-template #noResults>
|
||||||
|
<p i18n="@@noResultsMessage">No hay resultados para mostrar.</p>
|
||||||
|
</ng-template>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</mat-tab>
|
||||||
|
</mat-tab-group>
|
||||||
|
|
|
@ -39,7 +39,7 @@ export class GroupsComponent implements OnInit {
|
||||||
selectedFilter2: string = 'none';
|
selectedFilter2: string = 'none';
|
||||||
filterName: string = '';
|
filterName: string = '';
|
||||||
filteredResults: any[] = [];
|
filteredResults: any[] = [];
|
||||||
savedFilters: any[] = [];
|
savedFilterNames: any[] = [];
|
||||||
length: number = 0;
|
length: number = 0;
|
||||||
itemsPerPage: number = 10;
|
itemsPerPage: number = 10;
|
||||||
page: number = 1;
|
page: number = 1;
|
||||||
|
@ -55,6 +55,20 @@ export class GroupsComponent implements OnInit {
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
this.search();
|
this.search();
|
||||||
|
this.getFilters();
|
||||||
|
}
|
||||||
|
|
||||||
|
getFilters(): void {
|
||||||
|
this.dataService.getFilters().subscribe(
|
||||||
|
data => {
|
||||||
|
this.savedFilterNames = data.map((filter: any) => filter.name);
|
||||||
|
console.log('data:', data);
|
||||||
|
console.log('Saved filters:', this.savedFilterNames);
|
||||||
|
},
|
||||||
|
error => {
|
||||||
|
console.error('Error fetching filters:', error);
|
||||||
|
}
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
search(): void {
|
search(): void {
|
||||||
|
@ -303,10 +317,21 @@ export class GroupsComponent implements OnInit {
|
||||||
}
|
}
|
||||||
saveFilters() {
|
saveFilters() {
|
||||||
const filters = {
|
const filters = {
|
||||||
name: `Filter ${new Date().toISOString()}`,
|
name: this.filterName || `Filter ${new Date().toISOString()}`,
|
||||||
filter1: this.selectedFilter1,
|
favourite: true,
|
||||||
filter2: this.selectedFilter2
|
filters: {
|
||||||
|
filter1: this.selectedFilter1,
|
||||||
|
filter2: this.selectedFilter2
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
console.log('Filters:', filters);
|
||||||
|
|
||||||
|
this.http.post('http://127.0.0.1:8080/views', filters).subscribe(response => {
|
||||||
|
console.log('Response from server:', response);
|
||||||
|
}, error => {
|
||||||
|
console.error('Error:', error);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
loadSelectedFilter(savedFilter: any) {
|
loadSelectedFilter(savedFilter: any) {
|
||||||
|
|
|
@ -30,7 +30,6 @@ export class HeaderComponent implements OnInit {
|
||||||
this.decodedToken = jwtDecode(token);
|
this.decodedToken = jwtDecode(token);
|
||||||
this.isSuperAdmin = this.decodedToken.roles.includes('ROLE_SUPER_ADMIN');
|
this.isSuperAdmin = this.decodedToken.roles.includes('ROLE_SUPER_ADMIN');
|
||||||
localStorage.setItem('isSuperAdmin', String(this.isSuperAdmin));
|
localStorage.setItem('isSuperAdmin', String(this.isSuperAdmin));
|
||||||
console.log('isSuperAdmin:', this.isSuperAdmin);
|
|
||||||
this.username = this.decodedToken.username;
|
this.username = this.decodedToken.username;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error decoding JWT:', error);
|
console.error('Error decoding JWT:', error);
|
||||||
|
|
|
@ -37,3 +37,8 @@ mat-icon {
|
||||||
margin-top: auto;
|
margin-top: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (max-width: 680px) {
|
||||||
|
mat-nav-list {
|
||||||
|
width: 0px;
|
||||||
|
}
|
||||||
|
}
|
|
@ -23,7 +23,6 @@ export class SidebarComponent {
|
||||||
this.decodedToken = jwtDecode(token);
|
this.decodedToken = jwtDecode(token);
|
||||||
this.isSuperAdmin = this.decodedToken.roles.includes('ROLE_SUPER_ADMIN');
|
this.isSuperAdmin = this.decodedToken.roles.includes('ROLE_SUPER_ADMIN');
|
||||||
localStorage.setItem('isSuperAdmin', String(this.isSuperAdmin));
|
localStorage.setItem('isSuperAdmin', String(this.isSuperAdmin));
|
||||||
console.log('isSuperAdmin:', this.isSuperAdmin);
|
|
||||||
this.username = this.decodedToken.username;
|
this.username = this.decodedToken.username;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error decoding JWT:', error);
|
console.error('Error decoding JWT:', error);
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
{
|
{
|
||||||
"locale": "en",
|
"locale": "en",
|
||||||
"translations": {
|
"translations": {
|
||||||
"digital-board": "Digital Board",
|
"digital-board": "Digital board",
|
||||||
"projector-alt": "Projector",
|
"projector-alt": "Projector",
|
||||||
"client-image-alt": "Client",
|
"client-image-alt": "Client",
|
||||||
"save-disposition-button": "Save Layout",
|
"save-disposition-button": "Save layout",
|
||||||
"client-properties-title": "Client Properties",
|
"client-properties-title": "Client Properties",
|
||||||
"property-header": "Property",
|
"property-header": "Property",
|
||||||
"value-header": "Value",
|
"value-header": "Value",
|
||||||
"power-on-button": "Power On",
|
"power-on-button": "Power On",
|
||||||
"power-off-button": "Power Off",
|
"power-off-button": "Power Off",
|
||||||
"reset-button": "Reset",
|
"reset-button": "Reset",
|
||||||
"other-actions-1": "Other Actions 1",
|
"other-actions-1": "Other actions 1",
|
||||||
"other-actions-2": "Other Actions 2",
|
"other-actions-2": "Other actions 2",
|
||||||
"other-actions-3": "Other Actions 3",
|
"other-actions-3": "Other actions 3",
|
||||||
"close-button": "Close",
|
"close-button": "Close",
|
||||||
"add-client-dialog-title": "Add Client",
|
"add-client-dialog-title": "Add Client",
|
||||||
"organizational-unit-label": "Parent",
|
"organizational-unit-label": "Parent",
|
||||||
|
@ -35,34 +35,62 @@
|
||||||
"add-button": "Add",
|
"add-button": "Add",
|
||||||
"edit-client-dialog-title": "Edit Client",
|
"edit-client-dialog-title": "Edit Client",
|
||||||
"delete-dialog-title": "Delete",
|
"delete-dialog-title": "Delete",
|
||||||
"delete-dialog-content": "Do you want to delete the clients located at {$INTERPOLATION} or relocate them to the top level?",
|
"delete-dialog-content": "Do you want to delete the clients located in {$INTERPOLATION} or move them to the top level?",
|
||||||
"delete-all-clients-button": "Delete All Clients",
|
"delete-all-clients-button": "Delete all clients",
|
||||||
"reposition-clients-button": "Reposition",
|
"reposition-clients-button": "Reposition",
|
||||||
"deleteDialogTitle": "Delete",
|
"deleteDialogTitle": "Delete",
|
||||||
"deleteConfirmationMessage": "Are you sure you want to delete {$INTERPOLATION}?",
|
"deleteConfirmationMessage": "Are you sure you want to delete {$INTERPOLATION}?",
|
||||||
"cancelButton": "Cancel",
|
"cancelButton": "Cancel",
|
||||||
"confirmButton": "Delete",
|
"confirmButton": "Delete",
|
||||||
"titleAdminGroups": "Manage Groups",
|
"adminGroupsTitle": "Manage Groups",
|
||||||
"btnNewOrgUnit": "New Organizational Unit",
|
"newOrganizationalUnitButton": "New Organizational Unit",
|
||||||
"btnNewClient": "New Client",
|
"newClientButton": "New Client",
|
||||||
"btnLegend": "Legend",
|
"legendButton": "Legend",
|
||||||
"btnClassroomMap": "Classroom Layout",
|
"classroomMapButton": "Classroom Layout",
|
||||||
"lblSearch": "Search",
|
"searchLabel": "Search",
|
||||||
"phSearch": "Search",
|
"searchPlaceholder": "Search",
|
||||||
"hintSearch": "Press 'enter' to search among organizational units",
|
"searchHint": "Press 'enter' to search among organizational units",
|
||||||
"cardTitleOrgUnit": "Organizational Unit",
|
"organizationalUnitTitle": "Organizational Unit",
|
||||||
"menuItemTreeView": "View Org Chart",
|
"viewTreeTooltip": "account_tree",
|
||||||
"menuItemEdit": "Edit",
|
"viewTreeMenu": "View Organization Chart",
|
||||||
"menuItemViewData": "View Data",
|
"editUnitTooltip": "edit",
|
||||||
"menuItemAddOrgUnit": "Add Organizational Unit",
|
"editUnitMenu": "Edit",
|
||||||
"menuItemAddClient": "Create Client",
|
"viewUnitTool": "visibility",
|
||||||
"cardTitleElements": "Internal Elements",
|
"viewUnitMenu": "View Details",
|
||||||
"noElements": "No internal elements",
|
"addInternalUnitTool": "add_home_work",
|
||||||
"menuItemEditElement": "Edit",
|
"addInternalUnitMenu": "Add Organizational Unit",
|
||||||
"menuItemViewOrgUnit": "View Data",
|
"addClientDevice": "devices",
|
||||||
"menuItemAddInternalOrgUnit": "Add Organizational Unit",
|
"addClientMenu": "Create Client",
|
||||||
"menuItemAddClientToOrgUnit": "Create Client",
|
"internalElementsTitle": "Internal Elements",
|
||||||
"menuItemDeleteElement": "Delete Element",
|
"noInternalElementsMessage": "No internal elements",
|
||||||
|
"editElementTooltip": "edit",
|
||||||
|
"editElementMenu": "Edit",
|
||||||
|
"viewUnitTooltip": "visibility",
|
||||||
|
"addInternalUnitTooltip": "add_home_work",
|
||||||
|
"addClientTooltip": "devices",
|
||||||
|
"deleteElementTooltip": "delete",
|
||||||
|
"deleteElementMenu": "Delete Element",
|
||||||
|
"searchTitle": "Search",
|
||||||
|
"selectFilterLabel": "Select filter",
|
||||||
|
"selectOptionLabel": "Select an option",
|
||||||
|
"organizationalUnitsOption": "Organizational Units",
|
||||||
|
"clientsOption": "Clients",
|
||||||
|
"nameLabel": "Name",
|
||||||
|
"namePlaceholder": "Organizational Unit",
|
||||||
|
"unitTypeLabel": "Unit Type",
|
||||||
|
"organizationalUnitOption": "Organizational Unit",
|
||||||
|
"classroomsGroupOption": "Classroom Groups",
|
||||||
|
"classroomOption": "Classrooms",
|
||||||
|
"clientGroupOption": "Client Groups",
|
||||||
|
"selectAnotherOptionLabel": "Select another option",
|
||||||
|
"noneOption": "None",
|
||||||
|
"option1": "Option 1",
|
||||||
|
"option2": "Option 2",
|
||||||
|
"option3": "Option 3",
|
||||||
|
"saveFiltersButton": "Save Filters",
|
||||||
|
"internalUnits": "Internal Units: {$INTERPOLATION}",
|
||||||
|
"clients": "Clients: {$INTERPOLATION}",
|
||||||
|
"noResultsMessage": "No results to display.",
|
||||||
"orgUnitTitle": "Organizational Unit",
|
"orgUnitTitle": "Organizational Unit",
|
||||||
"classroomGroupsTitle": "Classroom Groups",
|
"classroomGroupsTitle": "Classroom Groups",
|
||||||
"classroomTitle": "Classroom",
|
"classroomTitle": "Classroom",
|
||||||
|
@ -71,7 +99,6 @@
|
||||||
"addOrgUnitTitle": "Add Organizational Unit",
|
"addOrgUnitTitle": "Add Organizational Unit",
|
||||||
"generalStepLabel": "General",
|
"generalStepLabel": "General",
|
||||||
"typeLabel": "Type",
|
"typeLabel": "Type",
|
||||||
"nameLabel": "Name",
|
|
||||||
"createOrgUnitparentLabel": "Parent Organizational Unit",
|
"createOrgUnitparentLabel": "Parent Organizational Unit",
|
||||||
"noParentOption": "--",
|
"noParentOption": "--",
|
||||||
"descriptionLabel": "Description",
|
"descriptionLabel": "Description",
|
||||||
|
@ -110,9 +137,9 @@
|
||||||
"2366056895545879062": "Power On",
|
"2366056895545879062": "Power On",
|
||||||
"7368908909686115507": "Power Off",
|
"7368908909686115507": "Power Off",
|
||||||
"7760171369336053154": "Reset",
|
"7760171369336053154": "Reset",
|
||||||
"6799187990933478083": "Other Actions 1",
|
"6799187990933478083": "Other actions 1",
|
||||||
"8971534271481971645": "Other Actions 2",
|
"8971534271481971645": "Other actions 2",
|
||||||
"3300614831699539964": "Other Actions 3",
|
"3300614831699539964": "Other actions 3",
|
||||||
"viewTreeTitle": "View Organizational Unit Tree",
|
"viewTreeTitle": "View Organizational Unit Tree",
|
||||||
"closeButton": "Close",
|
"closeButton": "Close",
|
||||||
"webConsoleTitle": "Opengnsys Web Console",
|
"webConsoleTitle": "Opengnsys Web Console",
|
||||||
|
@ -139,12 +166,12 @@
|
||||||
"dialogTitleAddRole": "Add Role (TBD)",
|
"dialogTitleAddRole": "Add Role (TBD)",
|
||||||
"labelRoleName": "Name",
|
"labelRoleName": "Name",
|
||||||
"sectionTitlePermissions": "Permissions:",
|
"sectionTitlePermissions": "Permissions:",
|
||||||
"checkboxManageUsers": "Manage Users",
|
"checkboxManageUsers": "Manage users",
|
||||||
"checkboxPXEConfig": "PXE Configuration",
|
"checkboxPXEConfig": "PXE Configuration",
|
||||||
"checkboxConsoleImages": "Web Console Images",
|
"checkboxConsoleImages": "Web Console Images",
|
||||||
"checkboxManageComponents": "Manage Components",
|
"checkboxManageComponents": "Manage various components",
|
||||||
"checkboxCreateImages": "Create Images",
|
"checkboxCreateImages": "Create images",
|
||||||
"checkboxServerConfigScript": "Server Configuration Script",
|
"checkboxServerConfigScript": "Server configuration script",
|
||||||
"checkboxOther": "...",
|
"checkboxOther": "...",
|
||||||
"buttonCancel": "Cancel",
|
"buttonCancel": "Cancel",
|
||||||
"buttonAdd": "Add",
|
"buttonAdd": "Add",
|
||||||
|
|
|
@ -1,194 +1,207 @@
|
||||||
{
|
{
|
||||||
"locale": "en",
|
"locale": "es",
|
||||||
"translations": {
|
"translations": {
|
||||||
"digital-board": "Digital board",
|
"digital-board": "Pizarra digital",
|
||||||
"projector-alt": "Projector",
|
"projector-alt": "Proyector",
|
||||||
"client-image-alt": "Client",
|
"client-image-alt": "Client",
|
||||||
"save-disposition-button": "Save disposition",
|
"save-disposition-button": "Guardar disposición",
|
||||||
"client-properties-title": "Client properties",
|
"client-properties-title": "Propiedades cliente",
|
||||||
"property-header": "Property",
|
"property-header": "Propiedad",
|
||||||
"value-header": "Value",
|
"value-header": "Valor",
|
||||||
"power-on-button": "Power on",
|
"power-on-button": "Encender",
|
||||||
"power-off-button": "Power off",
|
"power-off-button": "Apagar",
|
||||||
"reset-button": "Reset",
|
"reset-button": "Resetear",
|
||||||
"other-actions-1": "Other actions 1",
|
"other-actions-1": "Otras acciones 1",
|
||||||
"other-actions-2": "Other actions 2",
|
"other-actions-2": "Otras acciones 2",
|
||||||
"other-actions-3": "Other actions 3",
|
"other-actions-3": "Otras acciones 3",
|
||||||
"close-button": "Close",
|
"close-button": "Cerrar",
|
||||||
"add-client-dialog-title": "Add Client",
|
"add-client-dialog-title": "Añadir Cliente",
|
||||||
"organizational-unit-label": "Parent",
|
"organizational-unit-label": "Padre",
|
||||||
"name-label": "Name",
|
"name-label": "Nombre",
|
||||||
"serial-number-label": "Serial Number",
|
"serial-number-label": "Número de Serie",
|
||||||
"netiface-label": "Network Interface",
|
"netiface-label": "Interfaz de red",
|
||||||
"net-driver-label": "Network Driver",
|
"net-driver-label": "Controlador de red",
|
||||||
"mac-label": "MAC",
|
"mac-label": "MAC",
|
||||||
"mac-hint": "Example: 00:11:22:33:44:55",
|
"mac-hint": "Ejemplo: 00:11:22:33:44:55",
|
||||||
"mac-error": "Invalid MAC format. Valid example: 00:11:22:33:44:55",
|
"mac-error": "Formato de MAC inválido. Ejemplo válido: 00:11:22:33:44:55",
|
||||||
"ip-label": "IP Address",
|
"ip-label": "Dirección IP",
|
||||||
"ip-hint": "Example: 127.0.0.1",
|
"ip-hint": "Ejemplo: 127.0.0.1",
|
||||||
"ip-error": "Invalid IP address format. Valid example: 127.0.0.1",
|
"ip-error": "Formato de dirección IP inválido. Ejemplo válido: 127.0.0.1",
|
||||||
"menu-url-label": "Menu URL",
|
"menu-url-label": "Menú URL",
|
||||||
"menu-url-error": "Invalid URL format.",
|
"menu-url-error": "Formato de URL inválido.",
|
||||||
"hardware-profile-label": "Hardware Profile",
|
"hardware-profile-label": "Perfil de Hardware",
|
||||||
"hardware-profile-error": "Invalid URL format.",
|
"hardware-profile-error": "Formato de URL inválido.",
|
||||||
"cancel-button": "Cancel",
|
"cancel-button": "Cancelar",
|
||||||
"add-button": "Add",
|
"add-button": "Añadir",
|
||||||
"edit-client-dialog-title": "Edit Client",
|
"edit-client-dialog-title": "Editar Cliente",
|
||||||
"delete-dialog-title": "Delete",
|
"delete-dialog-title": "Eliminar",
|
||||||
"delete-dialog-content": "Do you want to delete the clients located at {$INTERPOLATION} or reposition them at the upper level?",
|
"delete-dialog-content": "¿Quiere borrar los clientes situados en {$INTERPOLATION} o quiere resituarlos en el nivel superior?",
|
||||||
"delete-all-clients-button": "Delete all clients",
|
"delete-all-clients-button": "Borrar todos los clientes",
|
||||||
"reposition-clients-button": "Reposition",
|
"reposition-clients-button": "Resituar",
|
||||||
"deleteDialogTitle": "Delete",
|
"deleteDialogTitle": "Eliminar",
|
||||||
"deleteConfirmationMessage": "Are you sure you want to delete {$INTERPOLATION}?",
|
"deleteConfirmationMessage": "¿Estás seguro que deseas eliminar {$INTERPOLATION}?",
|
||||||
"cancelButton": "Cancel",
|
"cancelButton": "Cancelar",
|
||||||
"confirmButton": "Delete",
|
"confirmButton": "Eliminar",
|
||||||
"tabGeneralLabel": "General",
|
"adminGroupsTitle": "Administrar grupos",
|
||||||
"headerAdminGroups": "Manage groups",
|
"newOrganizationalUnitButton": "Nueva Unidad Organizativa",
|
||||||
"buttonNewOU": "New Organizational Unit",
|
"newClientButton": "Nuevo Cliente",
|
||||||
"buttonNewClient": "New Client",
|
"legendButton": "Leyenda",
|
||||||
"buttonLegend": "Legend",
|
"classroomMapButton": "Plano de aula",
|
||||||
"buttonRoomMap": "Classroom layout",
|
"searchLabel": "Búsqueda",
|
||||||
"labelSearch": "Search",
|
"searchPlaceholder": "Búsqueda",
|
||||||
"placeholderSearch": "Search",
|
"searchHint": "Pulsar 'enter' para buscar entre las unidades organizativas",
|
||||||
"hintSearch": "Press 'enter' to search among organizational units",
|
"organizationalUnitTitle": "Unidad organizativa",
|
||||||
"cardTitleOU": "Organizational Unit",
|
"viewTreeTooltip": "account_tree ",
|
||||||
"tooltipViewTree": "View as tree",
|
"viewTreeMenu": "Ver organigrama",
|
||||||
"menuItemViewTree": "View organizational chart",
|
"editUnitTooltip": "edit ",
|
||||||
"tooltipEditOU": "Edit organizational unit",
|
"editUnitMenu": "Editar",
|
||||||
"menuItemEditOU": "Edit",
|
"viewUnitTool": "visibility ",
|
||||||
"tooltipViewOU": "View organizational unit",
|
"viewUnitMenu": "Visualizar datos",
|
||||||
"menuItemViewOU": "View data",
|
"addInternalUnitTool": "add_home_work ",
|
||||||
"tooltipAddOU": "Create internal organizational unit",
|
"addInternalUnitMenu": "Añadir unidad organizativa",
|
||||||
"menuItemAddOU": "Add organizational unit",
|
"addClientDevice": "devices ",
|
||||||
"tooltipAddClient": "Create client in this organizational unit",
|
"addClientMenu": "Crear cliente",
|
||||||
"menuItemAddClient": "Create client",
|
"internalElementsTitle": "Elementos internos",
|
||||||
"cardTitleInternalElements": "Internal Elements",
|
"noInternalElementsMessage": "No hay elementos internos",
|
||||||
"emptyListNoInternalElements": "No internal elements",
|
"editElementTooltip": "edit",
|
||||||
"tooltipEditElement": "Edit element",
|
"editElementMenu": "Editar",
|
||||||
"menuItemEditElement": "Edit",
|
"viewUnitTooltip": "visibility",
|
||||||
"tooltipViewOUElement": "View organizational unit",
|
"addInternalUnitTooltip": "add_home_work",
|
||||||
"menuItemViewOUElement": "View data",
|
"addClientTooltip": "devices",
|
||||||
"tooltipAddOUElement": "Create internal organizational unit",
|
"deleteElementTooltip": "delete",
|
||||||
"menuItemAddOUElement": "Add organizational unit",
|
"deleteElementMenu": "Borrar elemento",
|
||||||
"tooltipAddClientElement": "Create client in this organizational unit",
|
"searchTitle": "Búsqueda",
|
||||||
"menuItemAddClientElement": "Create client",
|
"selectFilterLabel": "Seleccione filtro",
|
||||||
"tooltipDeleteElement": "Delete element",
|
"selectOptionLabel": "Selecciona una opción",
|
||||||
"menuItemDeleteElement": "Delete element",
|
"organizationalUnitsOption": "Unidades organizativas",
|
||||||
"tabAdvancedSearchLabel": "Advanced Search",
|
"clientsOption": "Clientes",
|
||||||
"headerSearch": "Search",
|
"nameLabel": "Nombre",
|
||||||
"labelSelectFilter": "Select filter",
|
"namePlaceholder": "Unidad organizativa",
|
||||||
"orgUnitTitle": "Organizational Unit",
|
"unitTypeLabel": "Tipo de unidad",
|
||||||
"classroomGroupsTitle": "Classroom Groups",
|
"organizationalUnitOption": "Unidad organizativa",
|
||||||
"classroomTitle": "Classroom",
|
"classroomsGroupOption": "Grupos de aulas",
|
||||||
"clientGroupsTitle": "Client Groups",
|
"classroomOption": "Aulas",
|
||||||
"clientTitle": "Client",
|
"clientGroupOption": "Grupos de clientes",
|
||||||
"addOrgUnitTitle": "Add Organizational Unit",
|
"selectAnotherOptionLabel": "Selecciona otra opción",
|
||||||
|
"noneOption": "Ninguno",
|
||||||
|
"option1": "Opción 1",
|
||||||
|
"option2": "Opción 2",
|
||||||
|
"option3": "Opción 3",
|
||||||
|
"saveFiltersButton": "Guardar Filtros",
|
||||||
|
"internalUnits": "Unidades internas: {$INTERPOLATION}",
|
||||||
|
"clients": "Clientes: {$INTERPOLATION}",
|
||||||
|
"noResultsMessage": "No hay resultados para mostrar.",
|
||||||
|
"orgUnitTitle": "Unidad organizativa",
|
||||||
|
"classroomGroupsTitle": "Grupos de aula",
|
||||||
|
"classroomTitle": "Aula",
|
||||||
|
"clientGroupsTitle": "Grupos de clientes",
|
||||||
|
"clientTitle": "Cliente",
|
||||||
|
"addOrgUnitTitle": "Añadir Unidad Organizativa",
|
||||||
"generalStepLabel": "General",
|
"generalStepLabel": "General",
|
||||||
"typeLabel": "Type",
|
"typeLabel": "Tipo",
|
||||||
"nameLabel": "Name",
|
"createOrgUnitparentLabel": "Unidad organizativa padre",
|
||||||
"createOrgUnitparentLabel": "Parent Organizational Unit",
|
|
||||||
"noParentOption": "--",
|
"noParentOption": "--",
|
||||||
"descriptionLabel": "Description",
|
"descriptionLabel": "Descripción",
|
||||||
"nextButton": "Next",
|
"nextButton": "Siguiente",
|
||||||
"classroomInfoStepLabel": "Classroom Information",
|
"classroomInfoStepLabel": "Información del Aula",
|
||||||
"locationLabel": "Location",
|
"locationLabel": "Ubicación",
|
||||||
"projectorToggle": "Projector",
|
"projectorToggle": "Proyector",
|
||||||
"boardToggle": "Board",
|
"boardToggle": "Pizarra",
|
||||||
"capacityLabel": "Capacity",
|
"capacityLabel": "Aforo",
|
||||||
"backButton": "Back",
|
"backButton": "Atrás",
|
||||||
"additionalInfoStepLabel": "Additional Information",
|
"additionalInfoStepLabel": "Información Adicional",
|
||||||
"commentsLabel": "Comments",
|
"commentsLabel": "Comentarios",
|
||||||
"networkSettingsStepLabel": "Network Settings",
|
"networkSettingsStepLabel": "Configuración de Red",
|
||||||
"proxyUrlLabel": "Proxy Server URL",
|
"proxyUrlLabel": "Url servidor Proxy",
|
||||||
"dnsIpLabel": "DNS Server IP",
|
"dnsIpLabel": "IP servidor DNS",
|
||||||
"netmaskLabel": "Netmask",
|
"netmaskLabel": "Máscara de Red",
|
||||||
"routerLabel": "Router",
|
"routerLabel": "Router",
|
||||||
"ntpIpLabel": "NTP Server IP",
|
"ntpIpLabel": "IP servidor NTP",
|
||||||
"p2pModeLabel": "P2P Mode",
|
"p2pModeLabel": "Modo P2P",
|
||||||
"p2pTimeLabel": "P2P Time",
|
"p2pTimeLabel": "Tiempo P2P",
|
||||||
"mcastIpLabel": "Multicast IP",
|
"mcastIpLabel": "IP Multicast",
|
||||||
"mcastSpeedLabel": "Multicast Speed",
|
"mcastSpeedLabel": "Velocidad Multicast",
|
||||||
"mcastPortLabel": "Multicast Port",
|
"mcastPortLabel": "Puerto Multicast",
|
||||||
"mcastModeLabel": "Multicast Mode",
|
"mcastModeLabel": "Modo Multicast",
|
||||||
"menuUrlLabel": "Menu URL",
|
"menuUrlLabel": "Menú URL",
|
||||||
"hardwareProfileLabel": "Hardware Profile",
|
"hardwareProfileLabel": "Perfil de Hardware",
|
||||||
"urlFormatError": "Invalid URL format.",
|
"urlFormatError": "Formato de URL inválido.",
|
||||||
"submitButton": "Add",
|
"submitButton": "Añadir",
|
||||||
"editOrgUnitTitle": "Edit Organizational Unit",
|
"editOrgUnitTitle": "Editar Unidad Organizativa",
|
||||||
"editOrgUnitParentLabel": "Parent",
|
"editOrgUnitParentLabel": "Padre",
|
||||||
"validationToggle": "Validation",
|
"validationToggle": "Validación",
|
||||||
"orgUnitPropertiesTitle": "Organizational Unit Properties",
|
"orgUnitPropertiesTitle": "Propiedades unidad organizativa",
|
||||||
"generalDataTab": "General Data",
|
"generalDataTab": "Datos generales",
|
||||||
"classroomNetworkPropertiesTab": "Classroom and Network Properties",
|
"classroomNetworkPropertiesTab": "Propiedades aula y de red",
|
||||||
"actionsTab": "Actions",
|
"actionsTab": "Acciones",
|
||||||
"2366056895545879062": "Power on",
|
"2366056895545879062": "Encender",
|
||||||
"7368908909686115507": "Power off",
|
"7368908909686115507": "Apagar",
|
||||||
"7760171369336053154": "Reset",
|
"7760171369336053154": "Resetear",
|
||||||
"6799187990933478083": "Other actions 1",
|
"6799187990933478083": "Otras acciones 1",
|
||||||
"8971534271481971645": "Other actions 2",
|
"8971534271481971645": "Otras acciones 2",
|
||||||
"3300614831699539964": "Other actions 3",
|
"3300614831699539964": "Otras acciones 3",
|
||||||
"viewTreeTitle": "View Organizational Unit Tree",
|
"viewTreeTitle": "Visualizar árbol unidad Organizativa",
|
||||||
"closeButton": "Close",
|
"closeButton": "Cerrar",
|
||||||
"webConsoleTitle": "Opengnsys webconsole",
|
"webConsoleTitle": "Opengnsys webconsole",
|
||||||
"admin": "Administration",
|
"admin": "Administración",
|
||||||
"editUser": "Edit user",
|
"editUser": "Editar usuario",
|
||||||
"usersMenuItem": "Users",
|
"usersMenuItem": "Usuarios",
|
||||||
"rolesMenuItem": "Roles",
|
"rolesMenuItem": "Roles",
|
||||||
"logout": "Logout",
|
"logout": "Salir",
|
||||||
"welcomeUser": "Welcome {$INTERPOLATION}",
|
"welcomeUser": "Bienvenido {$INTERPOLATION}",
|
||||||
"groups": "Groups",
|
"groups": "Grupos",
|
||||||
"actions": "Actions",
|
"actions": "Acciones",
|
||||||
"images": "Images",
|
"images": "Imágenes",
|
||||||
"components": "Components",
|
"components": "Componentes",
|
||||||
"repositories": "Repositories",
|
"repositories": "Repositorios",
|
||||||
"menus": "Menus",
|
"menus": "Menús",
|
||||||
"search": "Search",
|
"search": "Buscar",
|
||||||
"calendars": "Calendars",
|
"calendars": "Calendarios",
|
||||||
"headerOpengnsys": "Opengnsys",
|
"headerOpengnsys": "Opengnsys",
|
||||||
"loginlabelUsername": "Enter your username",
|
"loginlabelUsername": "Introduce tu usuario",
|
||||||
"loginlabelPassword": "Enter your password",
|
"loginlabelPassword": "Introduce tu contraseña",
|
||||||
"buttonLogin": "Log in",
|
"buttonLogin": "Iniciar sesión",
|
||||||
"labelUsers": "Users",
|
"labelUsers": "Usuarios",
|
||||||
"labelRoles": "Roles",
|
"labelRoles": "Roles",
|
||||||
"dialogTitleAddRole": "Add Role (TBD)",
|
"dialogTitleAddRole": "Añadir Rol (TBD)",
|
||||||
"labelRoleName": "Name",
|
"labelRoleName": "Nombre",
|
||||||
"sectionTitlePermissions": "Permissions:",
|
"sectionTitlePermissions": "Permisos:",
|
||||||
"checkboxManageUsers": "Manage users",
|
"checkboxManageUsers": "Gestionar los usuarios",
|
||||||
"checkboxPXEConfig": "PXE Configuration",
|
"checkboxPXEConfig": "Configuración PXE",
|
||||||
"checkboxConsoleImages": "Web console images",
|
"checkboxConsoleImages": "Imágenes de la consola web",
|
||||||
"checkboxManageComponents": "Manage components",
|
"checkboxManageComponents": "Gestionar los distintos componentes",
|
||||||
"checkboxCreateImages": "Create images",
|
"checkboxCreateImages": "Crear imágenes",
|
||||||
"checkboxServerConfigScript": "Server configuration script",
|
"checkboxServerConfigScript": "script de configuración del servidor",
|
||||||
"checkboxOther": "...",
|
"checkboxOther": "...",
|
||||||
"buttonCancel": "Cancel",
|
"buttonCancel": "Cancelar",
|
||||||
"buttonAdd": "Add",
|
"buttonAdd": "Añadir",
|
||||||
"dialogTitleDeleteRole": "Delete Role",
|
"dialogTitleDeleteRole": "Eliminar Rol",
|
||||||
"dialogContentDeleteRole": "Are you sure you want to delete the role {$INTERPOLATION}?",
|
"dialogContentDeleteRole": "¿Estás seguro que deseas eliminar el rol {$INTERPOLATION}?",
|
||||||
"buttonDelete": "Delete",
|
"buttonDelete": "Eliminar",
|
||||||
"headerRoleManagement": "Role management",
|
"headerRoleManagement": "Gestión de roles",
|
||||||
"buttonAddRole": "+ Add",
|
"buttonAddRole": "+ Añadir",
|
||||||
"headerActions": "Actions",
|
"headerActions": "Acciones",
|
||||||
"dialogTitleAddUser": "Add User",
|
"dialogTitleAddUser": "Añadir Usuario",
|
||||||
"addUserlabelUsername": "Username",
|
"addUserlabelUsername": "Nombre de usuario",
|
||||||
"addUserlabelPassword": "Password",
|
"addUserlabelPassword": "Contraseña",
|
||||||
"labelRole": "Role",
|
"labelRole": "Rol",
|
||||||
"labelOrganizationalUnit": "Organizational Unit",
|
"labelOrganizationalUnit": "Unidad organiativa",
|
||||||
"dialogTitleEditUser": "Edit User",
|
"dialogTitleEditUser": "Editar Usuario",
|
||||||
"labelCurrentPassword": "Current password",
|
"labelCurrentPassword": "Contraseña actual",
|
||||||
"labelNewPassword": "New password",
|
"labelNewPassword": "Nueva contraseña",
|
||||||
"labelRepeatPassword": "Repeat password",
|
"labelRepeatPassword": "Repite la contraseña",
|
||||||
"errorPasswordMismatch": " Passwords do not match ",
|
"errorPasswordMismatch": " Las contraseñas no coinciden ",
|
||||||
"errorUpdate": " {$INTERPOLATION} ",
|
"errorUpdate": " {$INTERPOLATION} ",
|
||||||
"buttonEdit": "Edit",
|
"buttonEdit": "Editar",
|
||||||
"dialogTitleDeleteUser": "Delete User",
|
"dialogTitleDeleteUser": "Eliminar Usuario",
|
||||||
"dialogContentDeleteUser": "Are you sure you want to delete {$INTERPOLATION}?",
|
"dialogContentDeleteUser": "¿Estás seguro que deseas eliminar a {$INTERPOLATION}?",
|
||||||
"editUserlabelUsername": "Username",
|
"editUserlabelUsername": "Nombre de usuario",
|
||||||
"editUserlabelPassword": "Password",
|
"editUserlabelPassword": "Contraseña",
|
||||||
"labelOrgUnit": "Organizational Unit",
|
"labelOrgUnit": "Unidad organizativa",
|
||||||
"headerUserManagement": "User management",
|
"headerUserManagement": "Gestión de usuarios",
|
||||||
"buttonAddUser": "+ Add",
|
"buttonAddUser": "+ Añadir",
|
||||||
"columnActions": "Actions",
|
"columnActions": "Acciones",
|
||||||
"buttonEditUser": "Edit",
|
"buttonEditUser": "Editar",
|
||||||
"buttonDeleteUser": "Delete"
|
"buttonDeleteUser": "Eliminar"
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue