Improvement view on mobile device

This commit is contained in:
Vladyslav_Prykhodko 2020-04-06 11:04:03 +03:00
parent 56bb0f6071
commit 2ca4b78cf9
24 changed files with 102 additions and 106 deletions

View File

@ -15,7 +15,7 @@
limitations under the License. limitations under the License.
--> -->
<mat-toolbar fxLayout="row" color="primary"> <mat-toolbar color="primary">
<h2 translate>audit-log.audit-log-details</h2> <h2 translate>audit-log.audit-log-details</h2>
<span fxFlex></span> <span fxFlex></span>
<button mat-button mat-icon-button <button mat-button mat-icon-button
@ -33,10 +33,8 @@
<div #failureDetailsEditor [fxShow]="displayFailureDetails" class="tb-audit-log-failure-details"> <div #failureDetailsEditor [fxShow]="displayFailureDetails" class="tb-audit-log-failure-details">
</div> </div>
</div> </div>
<div mat-dialog-actions fxLayout="row"> <div mat-dialog-actions fxLayoutAlign="end center">
<span fxFlex></span>
<button mat-button color="primary" <button mat-button color="primary"
style="margin-right: 20px;"
type="button" type="button"
[disabled]="(isLoading$ | async)" [disabled]="(isLoading$ | async)"
[mat-dialog-close]="false" cdkFocusInitial> [mat-dialog-close]="false" cdkFocusInitial>

View File

@ -33,7 +33,7 @@
</mat-drawer> </mat-drawer>
<mat-drawer-content> <mat-drawer-content>
<div class="mat-padding tb-entity-table tb-absolute-fill"> <div class="mat-padding tb-entity-table tb-absolute-fill">
<div fxFlex fxLayout="column" class="mat-elevation-z1 tb-entity-table-content"> <div fxLayout="column" class="mat-elevation-z1 tb-entity-table-content">
<mat-toolbar class="mat-table-toolbar" [fxShow]="!textSearchMode && dataSource.selection.isEmpty()"> <mat-toolbar class="mat-table-toolbar" [fxShow]="!textSearchMode && dataSource.selection.isEmpty()">
<div class="mat-toolbar-tools"> <div class="mat-toolbar-tools">
<span *ngIf="entitiesTableConfig.tableTitle" class="tb-entity-table-title">{{ entitiesTableConfig.tableTitle }}</span> <span *ngIf="entitiesTableConfig.tableTitle" class="tb-entity-table-title">{{ entitiesTableConfig.tableTitle }}</span>
@ -41,10 +41,9 @@
<tb-timewindow *ngIf="entitiesTableConfig.useTimePageLink" [(ngModel)]="timewindow" <tb-timewindow *ngIf="entitiesTableConfig.useTimePageLink" [(ngModel)]="timewindow"
(ngModelChange)="onTimewindowChange()" (ngModelChange)="onTimewindowChange()"
asButton historyOnly></tb-timewindow> asButton historyOnly></tb-timewindow>
<span fxFlex *ngIf="!entitiesTableConfig.headerComponent || <span fxFlex *ngIf="!entitiesTableConfig.headerComponent || entitiesTableConfig.useTimePageLink"></span>
entitiesTableConfig.useTimePageLink"></span>
<div [fxShow]="addEnabled()"> <div [fxShow]="addEnabled()">
<button mat-button mat-icon-button [disabled]="isLoading$ | async" <button mat-icon-button [disabled]="isLoading$ | async"
*ngIf="!entitiesTableConfig.addActionDescriptors.length; else addActions" *ngIf="!entitiesTableConfig.addActionDescriptors.length; else addActions"
(click)="addEntity($event)" (click)="addEntity($event)"
matTooltip="{{ translations.add | translate }}" matTooltip="{{ translations.add | translate }}"
@ -52,7 +51,7 @@
<mat-icon>add</mat-icon> <mat-icon>add</mat-icon>
</button> </button>
<ng-template #addActions> <ng-template #addActions>
<button mat-button mat-icon-button [disabled]="isLoading$ | async" <button mat-icon-button [disabled]="isLoading$ | async"
*ngIf="entitiesTableConfig.addActionDescriptors.length === 1; else addActionsMenu" *ngIf="entitiesTableConfig.addActionDescriptors.length === 1; else addActionsMenu"
[fxShow]="entitiesTableConfig.addActionDescriptors[0].isEnabled()" [fxShow]="entitiesTableConfig.addActionDescriptors[0].isEnabled()"
(click)="entitiesTableConfig.addActionDescriptors[0].onAction($event)" (click)="entitiesTableConfig.addActionDescriptors[0].onAction($event)"
@ -61,7 +60,7 @@
<mat-icon>{{entitiesTableConfig.addActionDescriptors[0].icon}}</mat-icon> <mat-icon>{{entitiesTableConfig.addActionDescriptors[0].icon}}</mat-icon>
</button> </button>
<ng-template #addActionsMenu> <ng-template #addActionsMenu>
<button mat-button mat-icon-button [disabled]="isLoading$ | async" <button mat-icon-button [disabled]="isLoading$ | async"
matTooltip="{{ translations.add | translate }}" matTooltip="{{ translations.add | translate }}"
matTooltipPosition="above" matTooltipPosition="above"
[matMenuTriggerFor]="addActionsMenu"> [matMenuTriggerFor]="addActionsMenu">
@ -79,20 +78,20 @@
</ng-template> </ng-template>
</ng-template> </ng-template>
</div> </div>
<button mat-button mat-icon-button [disabled]="isLoading$ | async" <button mat-icon-button [disabled]="isLoading$ | async"
[fxShow]="actionDescriptor.isEnabled()" *ngFor="let actionDescriptor of headerActionDescriptors" [fxShow]="actionDescriptor.isEnabled()" *ngFor="let actionDescriptor of headerActionDescriptors"
matTooltip="{{ actionDescriptor.name }}" matTooltip="{{ actionDescriptor.name }}"
matTooltipPosition="above" matTooltipPosition="above"
(click)="actionDescriptor.onAction($event)"> (click)="actionDescriptor.onAction($event)">
<mat-icon>{{actionDescriptor.icon}}</mat-icon> <mat-icon>{{actionDescriptor.icon}}</mat-icon>
</button> </button>
<button mat-button mat-icon-button [disabled]="isLoading$ | async" (click)="updateData()" <button mat-icon-button [disabled]="isLoading$ | async" (click)="updateData()"
matTooltip="{{ 'action.refresh' | translate }}" matTooltip="{{ 'action.refresh' | translate }}"
matTooltipPosition="above"> matTooltipPosition="above">
<mat-icon>refresh</mat-icon> <mat-icon>refresh</mat-icon>
</button> </button>
<button *ngIf="entitiesTableConfig.searchEnabled" <button *ngIf="entitiesTableConfig.searchEnabled"
mat-button mat-icon-button [disabled]="isLoading$ | async" (click)="enterFilterMode()" mat-icon-button [disabled]="isLoading$ | async" (click)="enterFilterMode()"
matTooltip="{{ translations.search | translate }}" matTooltip="{{ translations.search | translate }}"
matTooltipPosition="above"> matTooltipPosition="above">
<mat-icon>search</mat-icon> <mat-icon>search</mat-icon>
@ -101,7 +100,7 @@
</mat-toolbar> </mat-toolbar>
<mat-toolbar class="mat-table-toolbar" [fxShow]="textSearchMode && dataSource.selection.isEmpty()"> <mat-toolbar class="mat-table-toolbar" [fxShow]="textSearchMode && dataSource.selection.isEmpty()">
<div class="mat-toolbar-tools"> <div class="mat-toolbar-tools">
<button mat-button mat-icon-button <button mat-icon-button
matTooltip="{{ translations.search | translate }}" matTooltip="{{ translations.search | translate }}"
matTooltipPosition="above"> matTooltipPosition="above">
<mat-icon>search</mat-icon> <mat-icon>search</mat-icon>
@ -112,7 +111,7 @@
[(ngModel)]="pageLink.textSearch" [(ngModel)]="pageLink.textSearch"
placeholder="{{ translations.search | translate }}"/> placeholder="{{ translations.search | translate }}"/>
</mat-form-field> </mat-form-field>
<button mat-button mat-icon-button (click)="exitFilterMode()" <button mat-icon-button (click)="exitFilterMode()"
matTooltip="{{ 'action.close' | translate }}" matTooltip="{{ 'action.close' | translate }}"
matTooltipPosition="above"> matTooltipPosition="above">
<mat-icon>close</mat-icon> <mat-icon>close</mat-icon>
@ -125,7 +124,7 @@
{{ translate.get(translations.selectedEntities, {count: dataSource.selection.selected.length}) | async }} {{ translate.get(translations.selectedEntities, {count: dataSource.selection.selected.length}) | async }}
</span> </span>
<span fxFlex></span> <span fxFlex></span>
<button mat-button mat-icon-button [disabled]="isLoading$ | async" <button mat-icon-button [disabled]="isLoading$ | async"
[fxShow]="actionDescriptor.isEnabled" *ngFor="let actionDescriptor of groupActionDescriptors" [fxShow]="actionDescriptor.isEnabled" *ngFor="let actionDescriptor of groupActionDescriptors"
matTooltip="{{ actionDescriptor.name }}" matTooltip="{{ actionDescriptor.name }}"
matTooltipPosition="above" matTooltipPosition="above"
@ -167,7 +166,7 @@
<mat-header-cell *matHeaderCellDef [ngStyle]="headerCellStyle(column)" mat-sort-header [disabled]="!column.sortable"> {{ column.title | translate }} </mat-header-cell> <mat-header-cell *matHeaderCellDef [ngStyle]="headerCellStyle(column)" mat-sort-header [disabled]="!column.sortable"> {{ column.title | translate }} </mat-header-cell>
<mat-cell *matCellDef="let entity; let row = index" <mat-cell *matCellDef="let entity; let row = index"
[ngStyle]="cellStyle(entity, column, row)"> [ngStyle]="cellStyle(entity, column, row)">
<button mat-button mat-icon-button [disabled]="isLoading$ | async" <button mat-icon-button [disabled]="isLoading$ | async"
[fxShow]="column.actionDescriptor.isEnabled(entity)" [fxShow]="column.actionDescriptor.isEnabled(entity)"
matTooltip="{{ column.actionDescriptor.nameFunction ? column.actionDescriptor.nameFunction(entity) : column.actionDescriptor.name }}" matTooltip="{{ column.actionDescriptor.nameFunction ? column.actionDescriptor.nameFunction(entity) : column.actionDescriptor.name }}"
matTooltipPosition="above" matTooltipPosition="above"

View File

@ -14,12 +14,12 @@
/// limitations under the License. /// limitations under the License.
/// ///
import {NgModule} from '@angular/core'; import { NgModule } from '@angular/core';
import {RouterModule, Routes} from '@angular/router'; import { RouterModule, Routes } from '@angular/router';
import {EntitiesTableComponent} from '../../components/entity/entities-table.component'; import { EntitiesTableComponent } from '../../components/entity/entities-table.component';
import {Authority} from '@shared/models/authority.enum'; import { Authority } from '@shared/models/authority.enum';
import {AssetsTableConfigResolver} from './assets-table-config.resolver'; import { AssetsTableConfigResolver } from './assets-table-config.resolver';
const routes: Routes = [ const routes: Routes = [
{ {

View File

@ -15,7 +15,7 @@
limitations under the License. limitations under the License.
--> -->
<div class="tb-details-buttons"> <div class="tb-details-buttons" fxLayout.xs="column">
<button mat-raised-button color="primary" <button mat-raised-button color="primary"
[disabled]="(isLoading$ | async)" [disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'makePublic')" (click)="onEntityAction($event, 'makePublic')"
@ -40,7 +40,7 @@
[fxShow]="!hideDelete() && !isEdit"> [fxShow]="!hideDelete() && !isEdit">
{{'asset.delete' | translate }} {{'asset.delete' | translate }}
</button> </button>
<div fxLayout="row"> <div fxLayout="row" fxLayout.xs="column">
<button mat-raised-button <button mat-raised-button
ngxClipboard ngxClipboard
(cbOnSuccess)="onAssetIdCopied($event)" (cbOnSuccess)="onAssetIdCopied($event)"

View File

@ -14,16 +14,16 @@
/// limitations under the License. /// limitations under the License.
/// ///
import {Component} from '@angular/core'; import { Component } from '@angular/core';
import {Store} from '@ngrx/store'; import { Store } from '@ngrx/store';
import {AppState} from '@core/core.state'; import { AppState } from '@core/core.state';
import {EntityComponent} from '../../components/entity/entity.component'; import { EntityComponent } from '../../components/entity/entity.component';
import {FormBuilder, FormGroup, Validators} from '@angular/forms'; import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import {EntityType} from '@shared/models/entity-type.models'; import { EntityType } from '@shared/models/entity-type.models';
import {NULL_UUID} from '@shared/models/id/has-uuid'; import { NULL_UUID } from '@shared/models/id/has-uuid';
import {ActionNotificationShow} from '@core/notification/notification.actions'; import { ActionNotificationShow } from '@core/notification/notification.actions';
import {TranslateService} from '@ngx-translate/core'; import { TranslateService } from '@ngx-translate/core';
import {AssetInfo} from '@app/shared/models/asset.models'; import { AssetInfo } from '@app/shared/models/asset.models';
@Component({ @Component({
selector: 'tb-asset', selector: 'tb-asset',

View File

@ -14,14 +14,14 @@
/// limitations under the License. /// limitations under the License.
/// ///
import {NgModule} from '@angular/core'; import { NgModule } from '@angular/core';
import {CommonModule} from '@angular/common'; import { CommonModule } from '@angular/common';
import {SharedModule} from '@shared/shared.module'; import { SharedModule } from '@shared/shared.module';
import {HomeDialogsModule} from '../../dialogs/home-dialogs.module'; import { HomeDialogsModule } from '../../dialogs/home-dialogs.module';
import {AssetComponent} from './asset.component'; import { AssetComponent } from './asset.component';
import {AssetTableHeaderComponent} from './asset-table-header.component'; import { AssetTableHeaderComponent } from './asset-table-header.component';
import {AssetRoutingModule} from './asset-routing.module'; import { AssetRoutingModule } from './asset-routing.module';
import {HomeComponentsModule} from '@modules/home/components/home-components.module'; import { HomeComponentsModule } from '@modules/home/components/home-components.module';
import { AssetTabsComponent } from '@home/pages/asset/asset-tabs.component'; import { AssetTabsComponent } from '@home/pages/asset/asset-tabs.component';
@NgModule({ @NgModule({

View File

@ -15,7 +15,7 @@
limitations under the License. limitations under the License.
--> -->
<div class="tb-details-buttons"> <div class="tb-details-buttons" fxLayout.xs="column">
<button mat-raised-button color="primary" <button mat-raised-button color="primary"
[disabled]="(isLoading$ | async)" [disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'manageUsers')" (click)="onEntityAction($event, 'manageUsers')"
@ -46,7 +46,7 @@
[fxShow]="!hideDelete() && !isEdit && !isPublic"> [fxShow]="!hideDelete() && !isEdit && !isPublic">
{{'customer.delete' | translate }} {{'customer.delete' | translate }}
</button> </button>
<div fxLayout="row"> <div fxLayout="row" fxLayout.xs="column">
<button mat-raised-button <button mat-raised-button
ngxClipboard ngxClipboard
(cbOnSuccess)="onCustomerIdCopied($event)" (cbOnSuccess)="onCustomerIdCopied($event)"

View File

@ -19,10 +19,9 @@ import { Store } from '@ngrx/store';
import { AppState } from '@core/core.state'; import { AppState } from '@core/core.state';
import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { Customer } from '@shared/models/customer.model'; import { Customer } from '@shared/models/customer.model';
import {Tenant} from '@app/shared/models/tenant.model'; import { ActionNotificationShow } from '@app/core/notification/notification.actions';
import {ActionNotificationShow} from '@app/core/notification/notification.actions'; import { TranslateService } from '@ngx-translate/core';
import {TranslateService} from '@ngx-translate/core'; import { ContactBasedComponent } from '../../components/entity/contact-based.component';
import {ContactBasedComponent} from '../../components/entity/contact-based.component';
@Component({ @Component({
selector: 'tb-customer', selector: 'tb-customer',

View File

@ -15,7 +15,7 @@
limitations under the License. limitations under the License.
--> -->
<div class="tb-details-buttons"> <div class="tb-details-buttons" fxLayout.xs="column">
<button mat-raised-button color="primary" <button mat-raised-button color="primary"
[disabled]="(isLoading$ | async)" [disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'open')" (click)="onEntityAction($event, 'open')"

View File

@ -14,21 +14,20 @@
/// limitations under the License. /// limitations under the License.
/// ///
import {Component} from '@angular/core'; import { Component } from '@angular/core';
import {Store} from '@ngrx/store'; import { Store } from '@ngrx/store';
import {AppState} from '@core/core.state'; import { AppState } from '@core/core.state';
import {EntityComponent} from '../../components/entity/entity.component'; import { EntityComponent } from '../../components/entity/entity.component';
import {FormBuilder, FormGroup, Validators} from '@angular/forms'; import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import {ActionNotificationShow} from '@core/notification/notification.actions'; import { ActionNotificationShow } from '@core/notification/notification.actions';
import {TranslateService} from '@ngx-translate/core'; import { TranslateService } from '@ngx-translate/core';
import { import {
Dashboard, Dashboard,
isPublicDashboard,
getDashboardAssignedCustomersText, getDashboardAssignedCustomersText,
isCurrentPublicDashboardCustomer, isCurrentPublicDashboardCustomer,
DashboardInfo isPublicDashboard
} from '@shared/models/dashboard.models'; } from '@shared/models/dashboard.models';
import {DashboardService} from '@core/http/dashboard.service'; import { DashboardService } from '@core/http/dashboard.service';
@Component({ @Component({
selector: 'tb-dashboard-form', selector: 'tb-dashboard-form',

View File

@ -18,7 +18,6 @@ import { Component } from '@angular/core';
import { Store } from '@ngrx/store'; import { Store } from '@ngrx/store';
import { AppState } from '@core/core.state'; import { AppState } from '@core/core.state';
import { DeviceInfo } from '@shared/models/device.models'; import { DeviceInfo } from '@shared/models/device.models';
import { EntityType } from '@shared/models/entity-type.models';
import { EntityTabsComponent } from '../../components/entity/entity-tabs.component'; import { EntityTabsComponent } from '../../components/entity/entity-tabs.component';
@Component({ @Component({

View File

@ -15,7 +15,7 @@
limitations under the License. limitations under the License.
--> -->
<div class="tb-details-buttons"> <div class="tb-details-buttons" fxLayout.xs="column">
<button mat-raised-button color="primary" <button mat-raised-button color="primary"
[disabled]="(isLoading$ | async)" [disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'makePublic')" (click)="onEntityAction($event, 'makePublic')"
@ -40,13 +40,13 @@
[fxShow]="!isEdit"> [fxShow]="!isEdit">
{{ (deviceScope === 'customer_user' ? 'device.view-credentials' : 'device.manage-credentials') | translate }} {{ (deviceScope === 'customer_user' ? 'device.view-credentials' : 'device.manage-credentials') | translate }}
</button> </button>
<button mat-raised-button color="primary" <button mat-raised-button color="primary" fxFlex.xs
[disabled]="(isLoading$ | async)" [disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'delete')" (click)="onEntityAction($event, 'delete')"
[fxShow]="!hideDelete() && !isEdit"> [fxShow]="!hideDelete() && !isEdit">
{{'device.delete' | translate }} {{'device.delete' | translate }}
</button> </button>
<div fxLayout="row"> <div fxLayout="row" fxLayout.xs="column">
<button mat-raised-button <button mat-raised-button
ngxClipboard ngxClipboard
(cbOnSuccess)="onDeviceIdCopied($event)" (cbOnSuccess)="onDeviceIdCopied($event)"

View File

@ -14,22 +14,18 @@
/// limitations under the License. /// limitations under the License.
/// ///
import { Component, OnInit } from '@angular/core'; import { Component } from '@angular/core';
import { select, Store } from '@ngrx/store'; import { Store } from '@ngrx/store';
import { AppState } from '@core/core.state'; import { AppState } from '@core/core.state';
import { EntityComponent } from '../../components/entity/entity.component'; import { EntityComponent } from '../../components/entity/entity.component';
import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { User } from '@shared/models/user.model'; import { DeviceInfo } from '@shared/models/device.models';
import { selectAuth, selectUserDetails } from '@core/auth/auth.selectors'; import { EntityType } from '@shared/models/entity-type.models';
import { map } from 'rxjs/operators'; import { NULL_UUID } from '@shared/models/id/has-uuid';
import { Authority } from '@shared/models/authority.enum'; import { ActionNotificationShow } from '@core/notification/notification.actions';
import {DeviceInfo} from '@shared/models/device.models'; import { TranslateService } from '@ngx-translate/core';
import {EntityType} from '@shared/models/entity-type.models'; import { DeviceService } from '@core/http/device.service';
import {NULL_UUID} from '@shared/models/id/has-uuid'; import { ClipboardService } from 'ngx-clipboard';
import {ActionNotificationShow} from '@core/notification/notification.actions';
import {TranslateService} from '@ngx-translate/core';
import {DeviceService} from '@core/http/device.service';
import {ClipboardService} from 'ngx-clipboard';
@Component({ @Component({
selector: 'tb-device', selector: 'tb-device',

View File

@ -17,12 +17,12 @@
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { SharedModule } from '@shared/shared.module'; import { SharedModule } from '@shared/shared.module';
import {DeviceComponent} from '@modules/home/pages/device/device.component'; import { DeviceComponent } from '@modules/home/pages/device/device.component';
import {DeviceRoutingModule} from './device-routing.module'; import { DeviceRoutingModule } from './device-routing.module';
import {DeviceTableHeaderComponent} from '@modules/home/pages/device/device-table-header.component'; import { DeviceTableHeaderComponent } from '@modules/home/pages/device/device-table-header.component';
import {DeviceCredentialsDialogComponent} from '@modules/home/pages/device/device-credentials-dialog.component'; import { DeviceCredentialsDialogComponent } from '@modules/home/pages/device/device-credentials-dialog.component';
import {HomeDialogsModule} from '../../dialogs/home-dialogs.module'; import { HomeDialogsModule } from '../../dialogs/home-dialogs.module';
import {HomeComponentsModule} from '@modules/home/components/home-components.module'; import { HomeComponentsModule } from '@modules/home/components/home-components.module';
import { DeviceTabsComponent } from '@home/pages/device/device-tabs.component'; import { DeviceTabsComponent } from '@home/pages/device/device-tabs.component';
@NgModule({ @NgModule({

View File

@ -15,7 +15,7 @@
limitations under the License. limitations under the License.
--> -->
<div class="tb-details-buttons"> <div class="tb-details-buttons" fxLayout.xs="column">
<button mat-raised-button color="primary" <button mat-raised-button color="primary"
[disabled]="(isLoading$ | async)" [disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'makePublic')" (click)="onEntityAction($event, 'makePublic')"
@ -40,7 +40,7 @@
[fxShow]="!hideDelete() && !isEdit"> [fxShow]="!hideDelete() && !isEdit">
{{'entity-view.delete' | translate }} {{'entity-view.delete' | translate }}
</button> </button>
<div fxLayout="row"> <div fxLayout="row" fxLayout.xs="column">
<button mat-raised-button <button mat-raised-button
ngxClipboard ngxClipboard
(cbOnSuccess)="onEntityViewIdCopied($event)" (cbOnSuccess)="onEntityViewIdCopied($event)"

View File

@ -16,7 +16,7 @@
--> -->
<form style="min-width: 400px;"> <form style="min-width: 400px;">
<mat-toolbar fxLayout="row" color="primary"> <mat-toolbar color="primary">
<h2 translate>user.activation-link</h2> <h2 translate>user.activation-link</h2>
<span fxFlex></span> <span fxFlex></span>
<button mat-button mat-icon-button <button mat-button mat-icon-button
@ -29,11 +29,11 @@
</mat-progress-bar> </mat-progress-bar>
<div style="height: 4px;" *ngIf="!(isLoading$ | async)"></div> <div style="height: 4px;" *ngIf="!(isLoading$ | async)"></div>
<div mat-dialog-content tb-toast toastTarget="activationLinkDialogContent"> <div mat-dialog-content tb-toast toastTarget="activationLinkDialogContent">
<div class="mat-content mat-padding" fxLayout="column"> <div class="mat-content" fxLayout="column">
<span [innerHTML]="'user.activation-link-text' | translate: {activationLink: activationLink}"></span> <span [innerHTML]="'user.activation-link-text' | translate: {activationLink: activationLink}"></span>
<div fxLayout="row" fxLayoutAlign="start center"> <div fxLayout="row" fxLayoutAlign="start center">
<pre class="tb-highlight" fxFlex><code>{{ activationLink }}</code></pre> <pre class="tb-highlight" fxFlex><code>{{ activationLink }}</code></pre>
<button mat-button mat-icon-button <button mat-icon-button
color="primary" color="primary"
ngxClipboard ngxClipboard
cbContent="{{ activationLink }}" cbContent="{{ activationLink }}"
@ -45,10 +45,8 @@
</div> </div>
</div> </div>
</div> </div>
<div mat-dialog-actions fxLayout="row"> <div mat-dialog-actions fxLayoutAlign="end center">
<span fxFlex></span>
<button mat-button color="primary" <button mat-button color="primary"
style="margin-right: 20px;"
type="button" type="button"
cdkFocusInitial cdkFocusInitial
[disabled]="(isLoading$ | async)" [disabled]="(isLoading$ | async)"

View File

@ -16,7 +16,6 @@
import { Component, Inject, OnInit } from '@angular/core'; import { Component, Inject, OnInit } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { PageComponent } from '@shared/components/page.component';
import { Store } from '@ngrx/store'; import { Store } from '@ngrx/store';
import { AppState } from '@core/core.state'; import { AppState } from '@core/core.state';
import { TranslateService } from '@ngx-translate/core'; import { TranslateService } from '@ngx-translate/core';

View File

@ -15,12 +15,12 @@
limitations under the License. limitations under the License.
--> -->
<form (ngSubmit)="add()" style="width: 600px;"> <form (ngSubmit)="add()" style="min-width: 450px;">
<mat-toolbar color="primary"> <mat-toolbar color="primary">
<h2 translate>user.add</h2> <h2 translate>user.add</h2>
<span fxFlex></span> <span fxFlex></span>
<div [tb-help]="'user'"></div> <div [tb-help]="'user'"></div>
<button mat-button mat-icon-button <button mat-icon-button
(click)="cancel()" (click)="cancel()"
type="button"> type="button">
<mat-icon class="material-icons">close</mat-icon> <mat-icon class="material-icons">close</mat-icon>

View File

@ -15,7 +15,7 @@
limitations under the License. limitations under the License.
--> -->
<div class="tb-details-buttons"> <div class="tb-details-buttons" fxLayout.xs="column">
<button mat-raised-button color="primary" <button mat-raised-button color="primary"
[disabled]="(isLoading$ | async)" [disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'disableAccount')" (click)="onEntityAction($event, 'disableAccount')"

View File

@ -14,13 +14,13 @@
/// limitations under the License. /// limitations under the License.
/// ///
import { Component, OnInit } from '@angular/core'; import { Component } from '@angular/core';
import { select, Store } from '@ngrx/store'; import { select, Store } from '@ngrx/store';
import { AppState } from '@core/core.state'; import { AppState } from '@core/core.state';
import { EntityComponent } from '../../components/entity/entity.component'; import { EntityComponent } from '../../components/entity/entity.component';
import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { User } from '@shared/models/user.model'; import { User } from '@shared/models/user.model';
import { selectAuth, selectUserDetails } from '@core/auth/auth.selectors'; import { selectAuth } from '@core/auth/auth.selectors';
import { map } from 'rxjs/operators'; import { map } from 'rxjs/operators';
import { Authority } from '@shared/models/authority.enum'; import { Authority } from '@shared/models/authority.enum';
import { isUndefined } from '@core/utils'; import { isUndefined } from '@core/utils';

View File

@ -21,7 +21,7 @@ import { UserComponent } from '@modules/home/pages/user/user.component';
import { UserRoutingModule } from '@modules/home/pages/user/user-routing.module'; import { UserRoutingModule } from '@modules/home/pages/user/user-routing.module';
import { AddUserDialogComponent } from '@modules/home/pages/user/add-user-dialog.component'; import { AddUserDialogComponent } from '@modules/home/pages/user/add-user-dialog.component';
import { ActivationLinkDialogComponent } from '@modules/home/pages/user/activation-link-dialog.component'; import { ActivationLinkDialogComponent } from '@modules/home/pages/user/activation-link-dialog.component';
import {HomeComponentsModule} from '@modules/home/components/home-components.module'; import { HomeComponentsModule } from '@modules/home/components/home-components.module';
import { UserTabsComponent } from '@home/pages/user/user-tabs.component'; import { UserTabsComponent } from '@home/pages/user/user-tabs.component';
@NgModule({ @NgModule({

View File

@ -26,9 +26,9 @@ import { Observable } from 'rxjs';
import { WidgetsBundle } from '@shared/models/widgets-bundle.model'; import { WidgetsBundle } from '@shared/models/widgets-bundle.model';
import { WidgetService } from '@core/http/widget.service'; import { WidgetService } from '@core/http/widget.service';
import { WidgetEditorComponent } from '@home/pages/widget/widget-editor.component'; import { WidgetEditorComponent } from '@home/pages/widget/widget-editor.component';
import { map, share } from 'rxjs/operators'; import { map } from 'rxjs/operators';
import { toWidgetInfo, WidgetInfo } from '@home/models/widget-component.models'; import { toWidgetInfo, WidgetInfo } from '@home/models/widget-component.models';
import { Widget, widgetType, WidgetType } from '@app/shared/models/widget.models'; import { widgetType, WidgetType } from '@app/shared/models/widget.models';
import { ConfirmOnExitGuard } from '@core/guards/confirm-on-exit.guard'; import { ConfirmOnExitGuard } from '@core/guards/confirm-on-exit.guard';
import { WidgetsData } from '@home/models/dashboard-component.models'; import { WidgetsData } from '@home/models/dashboard-component.models';
import { NULL_UUID } from '@shared/models/id/has-uuid'; import { NULL_UUID } from '@shared/models/id/has-uuid';

View File

@ -15,7 +15,7 @@
limitations under the License. limitations under the License.
--> -->
<div class="tb-details-buttons"> <div class="tb-details-buttons" fxLayout.xs="column">
<button mat-raised-button color="primary" <button mat-raised-button color="primary"
[disabled]="(isLoading$ | async)" [disabled]="(isLoading$ | async)"
(click)="onEntityAction($event, 'open')" (click)="onEntityAction($event, 'open')"

View File

@ -679,18 +679,18 @@ mat-label {
} }
.mat-toolbar-tools { .mat-toolbar-tools {
font-size: 20px; //font-size: 20px;
letter-spacing: .005em; letter-spacing: .005em;
box-sizing: border-box; //box-sizing: border-box;
font-weight: 400; font-weight: 400;
display: flex; display: flex;
align-items: center; align-items: center;
flex-direction: row; flex-direction: row;
width: 100%; width: 100%;
height: 64px; //height: 64px;
max-height: 64px; //max-height: 64px;
padding: 0 16px; padding: 0 16px;
margin: 0; //margin: 0;
} }
.mat-icon { .mat-icon {
@ -782,6 +782,11 @@ mat-label {
.mat-toolbar { .mat-toolbar {
line-height: normal; line-height: normal;
h1, h2, h3, h4, h5, h6 {
overflow: hidden;
text-overflow: ellipsis;
}
} }
mat-toolbar *, mat-toolbar :after, mat-toolbar :before { mat-toolbar *, mat-toolbar :after, mat-toolbar :before {
@ -817,6 +822,9 @@ mat-label {
.mat-dialog-actions { .mat-dialog-actions {
margin-bottom: 0; margin-bottom: 0;
padding: 8px 8px 8px 16px; padding: 8px 8px 8px 16px;
button:last-of-type{
margin-right: 20px;
}
} }
} }
} }
@ -843,7 +851,7 @@ mat-label {
} }
.tb-fullscreen-dialog { .tb-fullscreen-dialog {
@media #{$mat-lt-md} { @media #{$mat-lt-sm} {
min-height: 100%; min-height: 100%;
min-width: 100%; min-width: 100%;
max-width: none !important; max-width: none !important;
@ -904,6 +912,7 @@ mat-label {
display: flex; display: flex;
height: calc(100% - 60px); height: calc(100% - 60px);
text-transform: uppercase; text-transform: uppercase;
text-align: center;
} }