Commit 15880e3ef9b3f601436d624b7fa4894180892c27
Committed by
GitHub
1 parent
842a1d1a
[3.0] Minor fix (#2571)
* Fix breadcrumb and breakroint api to header * Fix layout profile * Clear code and fix layout (admin and profile pages) * Improvements import * Fix entity table
Showing
57 changed files
with
264 additions
and
310 deletions
@@ -25,17 +25,13 @@ import { | @@ -25,17 +25,13 @@ import { | ||
25 | AuditLog, | 25 | AuditLog, |
26 | AuditLogMode | 26 | AuditLogMode |
27 | } from '@shared/models/audit-log.models'; | 27 | } from '@shared/models/audit-log.models'; |
28 | -import { | ||
29 | - EntityTypeResource, | ||
30 | - EntityTypeTranslation, | ||
31 | - entityTypeTranslations | ||
32 | -} from '@shared/models/entity-type.models'; | 28 | +import { EntityTypeResource, entityTypeTranslations } from '@shared/models/entity-type.models'; |
33 | import { AuditLogService } from '@core/http/audit-log.service'; | 29 | import { AuditLogService } from '@core/http/audit-log.service'; |
34 | import { TranslateService } from '@ngx-translate/core'; | 30 | import { TranslateService } from '@ngx-translate/core'; |
35 | import { DatePipe } from '@angular/common'; | 31 | import { DatePipe } from '@angular/common'; |
36 | import { Direction } from '@shared/models/page/sort-order'; | 32 | import { Direction } from '@shared/models/page/sort-order'; |
37 | import { MatDialog } from '@angular/material/dialog'; | 33 | import { MatDialog } from '@angular/material/dialog'; |
38 | -import { PageLink, TimePageLink } from '@shared/models/page/page-link'; | 34 | +import { TimePageLink } from '@shared/models/page/page-link'; |
39 | import { Observable } from 'rxjs'; | 35 | import { Observable } from 'rxjs'; |
40 | import { PageData } from '@shared/models/page/page-data'; | 36 | import { PageData } from '@shared/models/page/page-data'; |
41 | import { EntityId } from '@shared/models/id/entity-id'; | 37 | import { EntityId } from '@shared/models/id/entity-id'; |
@@ -135,7 +135,7 @@ | @@ -135,7 +135,7 @@ | ||
135 | </div> | 135 | </div> |
136 | </mat-toolbar> | 136 | </mat-toolbar> |
137 | <div fxFlex class="table-container"> | 137 | <div fxFlex class="table-container"> |
138 | - <mat-table [dataSource]="dataSource" [trackBy]="trackByEntityId" | 138 | + <table mat-table [dataSource]="dataSource" [trackBy]="trackByEntityId" |
139 | matSort [matSortActive]="pageLink.sortOrder.property" [matSortDirection]="pageLink.sortDirection()" matSortDisableClear> | 139 | matSort [matSortActive]="pageLink.sortOrder.property" [matSortDirection]="pageLink.sortDirection()" matSortDisableClear> |
140 | <ng-container matColumnDef="select" sticky> | 140 | <ng-container matColumnDef="select" sticky> |
141 | <mat-header-cell *matHeaderCellDef style="width: 30px;"> | 141 | <mat-header-cell *matHeaderCellDef style="width: 30px;"> |
@@ -187,7 +187,7 @@ | @@ -187,7 +187,7 @@ | ||
187 | maxWidth: (cellActionDescriptors.length * 40) + 'px', | 187 | maxWidth: (cellActionDescriptors.length * 40) + 'px', |
188 | width: (cellActionDescriptors.length * 40) + 'px' }"> | 188 | width: (cellActionDescriptors.length * 40) + 'px' }"> |
189 | <div fxHide fxShow.gt-md fxFlex fxLayout="row" fxLayoutAlign="end"> | 189 | <div fxHide fxShow.gt-md fxFlex fxLayout="row" fxLayoutAlign="end"> |
190 | - <button mat-button mat-icon-button [disabled]="isLoading$ | async" | 190 | + <button mat-icon-button [disabled]="isLoading$ | async" |
191 | [fxShow]="actionDescriptor.isEnabled(entity)" *ngFor="let actionDescriptor of cellActionDescriptors" | 191 | [fxShow]="actionDescriptor.isEnabled(entity)" *ngFor="let actionDescriptor of cellActionDescriptors" |
192 | matTooltip="{{ actionDescriptor.nameFunction ? actionDescriptor.nameFunction(entity) : actionDescriptor.name }}" | 192 | matTooltip="{{ actionDescriptor.nameFunction ? actionDescriptor.nameFunction(entity) : actionDescriptor.name }}" |
193 | matTooltipPosition="above" | 193 | matTooltipPosition="above" |
@@ -197,7 +197,7 @@ | @@ -197,7 +197,7 @@ | ||
197 | </button> | 197 | </button> |
198 | </div> | 198 | </div> |
199 | <div fxHide fxShow.lt-lg *ngIf="cellActionDescriptors.length"> | 199 | <div fxHide fxShow.lt-lg *ngIf="cellActionDescriptors.length"> |
200 | - <button mat-button mat-icon-button | 200 | + <button mat-icon-button |
201 | (click)="$event.stopPropagation()" | 201 | (click)="$event.stopPropagation()" |
202 | [matMenuTriggerFor]="cellActionsMenu"> | 202 | [matMenuTriggerFor]="cellActionsMenu"> |
203 | <mat-icon class="material-icons">more_vert</mat-icon> | 203 | <mat-icon class="material-icons">more_vert</mat-icon> |
@@ -220,7 +220,7 @@ | @@ -220,7 +220,7 @@ | ||
220 | 'mat-selected': dataSource.selection.isSelected(entity), | 220 | 'mat-selected': dataSource.selection.isSelected(entity), |
221 | 'tb-current-entity': dataSource.isCurrentEntity(entity)}" | 221 | 'tb-current-entity': dataSource.isCurrentEntity(entity)}" |
222 | *matRowDef="let entity; columns: displayedColumns;" (click)="onRowClick($event, entity)"></mat-row> | 222 | *matRowDef="let entity; columns: displayedColumns;" (click)="onRowClick($event, entity)"></mat-row> |
223 | - </mat-table> | 223 | + </table> |
224 | <span [fxShow]="!(isLoading$ | async) && (dataSource.isEmpty() | async)" | 224 | <span [fxShow]="!(isLoading$ | async) && (dataSource.isEmpty() | async)" |
225 | fxLayoutAlign="center center" | 225 | fxLayoutAlign="center center" |
226 | class="no-data-found" translate>{{ translations.noEntities }}</span> | 226 | class="no-data-found" translate>{{ translations.noEntities }}</span> |
@@ -35,17 +35,17 @@ | @@ -35,17 +35,17 @@ | ||
35 | <mat-sidenav-content> | 35 | <mat-sidenav-content> |
36 | <div fxLayout="column" role="main" style="height: 100%;"> | 36 | <div fxLayout="column" role="main" style="height: 100%;"> |
37 | <mat-toolbar fxLayout="row" color="primary" class="mat-elevation-z1 tb-primary-toolbar"> | 37 | <mat-toolbar fxLayout="row" color="primary" class="mat-elevation-z1 tb-primary-toolbar"> |
38 | - <button [fxShow]="!forceFullscreen" mat-button mat-icon-button id="main" | 38 | + <button [fxShow]="!forceFullscreen" mat-icon-button id="main" |
39 | [ngClass]="{'tb-invisible': displaySearchMode()}" | 39 | [ngClass]="{'tb-invisible': displaySearchMode()}" |
40 | fxHide.gt-sm (click)="sidenav.toggle()"> | 40 | fxHide.gt-sm (click)="sidenav.toggle()"> |
41 | <mat-icon class="material-icons">menu</mat-icon> | 41 | <mat-icon class="material-icons">menu</mat-icon> |
42 | </button> | 42 | </button> |
43 | - <button [fxShow]="forceFullscreen" mat-button mat-icon-button | 43 | + <button [fxShow]="forceFullscreen" mat-icon-button |
44 | [ngClass]="{'tb-invisible': displaySearchMode()}" | 44 | [ngClass]="{'tb-invisible': displaySearchMode()}" |
45 | (click)="goBack()"> | 45 | (click)="goBack()"> |
46 | <mat-icon class="material-icons">arrow_back</mat-icon> | 46 | <mat-icon class="material-icons">arrow_back</mat-icon> |
47 | </button> | 47 | </button> |
48 | - <button mat-button mat-icon-button | 48 | + <button mat-icon-button |
49 | [ngClass]="{'tb-invisible': !displaySearchMode()}" | 49 | [ngClass]="{'tb-invisible': !displaySearchMode()}" |
50 | (click)="closeSearch()"> | 50 | (click)="closeSearch()"> |
51 | <mat-icon class="material-icons">arrow_back</mat-icon> | 51 | <mat-icon class="material-icons">arrow_back</mat-icon> |
@@ -62,12 +62,11 @@ | @@ -62,12 +62,11 @@ | ||
62 | </mat-form-field> | 62 | </mat-form-field> |
63 | </div> | 63 | </div> |
64 | <button [fxShow]="searchEnabled" | 64 | <button [fxShow]="searchEnabled" |
65 | - mat-button mat-icon-button | ||
66 | - (click)="openSearch()"> | 65 | + mat-icon-button (click)="openSearch()"> |
67 | <mat-icon class="material-icons">search</mat-icon> | 66 | <mat-icon class="material-icons">search</mat-icon> |
68 | </button> | 67 | </button> |
69 | <button *ngIf="fullscreenEnabled" [fxShow]="!displaySearchMode()" | 68 | <button *ngIf="fullscreenEnabled" [fxShow]="!displaySearchMode()" |
70 | - mat-button mat-icon-button fxHide.xs fxHide.sm (click)="toggleFullscreen()"> | 69 | + mat-icon-button fxHide.lt-md (click)="toggleFullscreen()"> |
71 | <mat-icon class="material-icons">{{ isFullscreen() ? 'fullscreen_exit' : 'fullscreen' }}</mat-icon> | 70 | <mat-icon class="material-icons">{{ isFullscreen() ? 'fullscreen_exit' : 'fullscreen' }}</mat-icon> |
72 | </button> | 71 | </button> |
73 | <tb-user-menu [displayUserInfo]="!displaySearchMode()"></tb-user-menu> | 72 | <tb-user-menu [displayUserInfo]="!displaySearchMode()"></tb-user-menu> |
@@ -17,24 +17,19 @@ | @@ -17,24 +17,19 @@ | ||
17 | import { AfterViewInit, Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core'; | 17 | import { AfterViewInit, Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core'; |
18 | import { fromEvent, Observable } from 'rxjs'; | 18 | import { fromEvent, Observable } from 'rxjs'; |
19 | import { select, Store } from '@ngrx/store'; | 19 | import { select, Store } from '@ngrx/store'; |
20 | -import { debounceTime, distinctUntilChanged, map, mergeMap, take, tap } from 'rxjs/operators'; | 20 | +import { debounceTime, distinctUntilChanged, map, tap } from 'rxjs/operators'; |
21 | 21 | ||
22 | import { BreakpointObserver, BreakpointState } from '@angular/cdk/layout'; | 22 | import { BreakpointObserver, BreakpointState } from '@angular/cdk/layout'; |
23 | import { User } from '@shared/models/user.model'; | 23 | import { User } from '@shared/models/user.model'; |
24 | import { PageComponent } from '@shared/components/page.component'; | 24 | import { PageComponent } from '@shared/components/page.component'; |
25 | import { AppState } from '@core/core.state'; | 25 | import { AppState } from '@core/core.state'; |
26 | -import { AuthService } from '@core/auth/auth.service'; | ||
27 | -import { UserService } from '@core/http/user.service'; | ||
28 | -import { MenuService } from '@core/services/menu.service'; | ||
29 | import { getCurrentAuthState, selectAuthUser, selectUserDetails } from '@core/auth/auth.selectors'; | 26 | import { getCurrentAuthState, selectAuthUser, selectUserDetails } from '@core/auth/auth.selectors'; |
30 | import { MediaBreakpoints } from '@shared/models/constants'; | 27 | import { MediaBreakpoints } from '@shared/models/constants'; |
31 | -import { ActionNotificationShow } from '@core/notification/notification.actions'; | ||
32 | -import { Router } from '@angular/router'; | ||
33 | import * as _screenfull from 'screenfull'; | 28 | import * as _screenfull from 'screenfull'; |
34 | import { MatSidenav } from '@angular/material/sidenav'; | 29 | import { MatSidenav } from '@angular/material/sidenav'; |
35 | import { AuthState } from '@core/auth/auth.models'; | 30 | import { AuthState } from '@core/auth/auth.models'; |
36 | import { WINDOW } from '@core/services/window.service'; | 31 | import { WINDOW } from '@core/services/window.service'; |
37 | -import { ISearchableComponent, instanceOfSearchableComponent } from '@home/models/searchable-component.models'; | 32 | +import { instanceOfSearchableComponent, ISearchableComponent } from '@home/models/searchable-component.models'; |
38 | 33 | ||
39 | const screenfull = _screenfull as _screenfull.Screenfull; | 34 | const screenfull = _screenfull as _screenfull.Screenfull; |
40 | 35 | ||
@@ -74,9 +69,6 @@ export class HomeComponent extends PageComponent implements AfterViewInit, OnIni | @@ -74,9 +69,6 @@ export class HomeComponent extends PageComponent implements AfterViewInit, OnIni | ||
74 | 69 | ||
75 | constructor(protected store: Store<AppState>, | 70 | constructor(protected store: Store<AppState>, |
76 | @Inject(WINDOW) private window: Window, | 71 | @Inject(WINDOW) private window: Window, |
77 | - private authService: AuthService, | ||
78 | - private router: Router, | ||
79 | - private userService: UserService, private menuService: MenuService, | ||
80 | public breakpointObserver: BreakpointObserver) { | 72 | public breakpointObserver: BreakpointObserver) { |
81 | super(store); | 73 | super(store); |
82 | } | 74 | } |
@@ -15,13 +15,13 @@ | @@ -15,13 +15,13 @@ | ||
15 | /// | 15 | /// |
16 | 16 | ||
17 | import { NgModule } from '@angular/core'; | 17 | import { NgModule } from '@angular/core'; |
18 | -import { Routes, RouterModule } from '@angular/router'; | 18 | +import { RouterModule, Routes } from '@angular/router'; |
19 | 19 | ||
20 | import { MailServerComponent } from '@modules/home/pages/admin/mail-server.component'; | 20 | import { MailServerComponent } from '@modules/home/pages/admin/mail-server.component'; |
21 | import { ConfirmOnExitGuard } from '@core/guards/confirm-on-exit.guard'; | 21 | import { ConfirmOnExitGuard } from '@core/guards/confirm-on-exit.guard'; |
22 | import { Authority } from '@shared/models/authority.enum'; | 22 | import { Authority } from '@shared/models/authority.enum'; |
23 | -import {GeneralSettingsComponent} from '@modules/home/pages/admin/general-settings.component'; | ||
24 | -import {SecuritySettingsComponent} from '@modules/home/pages/admin/security-settings.component'; | 23 | +import { GeneralSettingsComponent } from '@modules/home/pages/admin/general-settings.component'; |
24 | +import { SecuritySettingsComponent } from '@modules/home/pages/admin/security-settings.component'; | ||
25 | 25 | ||
26 | const routes: Routes = [ | 26 | const routes: Routes = [ |
27 | { | 27 | { |
@@ -20,9 +20,9 @@ import { CommonModule } from '@angular/common'; | @@ -20,9 +20,9 @@ import { CommonModule } from '@angular/common'; | ||
20 | import { AdminRoutingModule } from './admin-routing.module'; | 20 | import { AdminRoutingModule } from './admin-routing.module'; |
21 | import { SharedModule } from '@app/shared/shared.module'; | 21 | import { SharedModule } from '@app/shared/shared.module'; |
22 | import { MailServerComponent } from '@modules/home/pages/admin/mail-server.component'; | 22 | import { MailServerComponent } from '@modules/home/pages/admin/mail-server.component'; |
23 | -import {GeneralSettingsComponent} from '@modules/home/pages/admin/general-settings.component'; | ||
24 | -import {SecuritySettingsComponent} from '@modules/home/pages/admin/security-settings.component'; | ||
25 | -import {HomeComponentsModule} from '@modules/home/components/home-components.module'; | 23 | +import { GeneralSettingsComponent } from '@modules/home/pages/admin/general-settings.component'; |
24 | +import { SecuritySettingsComponent } from '@modules/home/pages/admin/security-settings.component'; | ||
25 | +import { HomeComponentsModule } from '@modules/home/components/home-components.module'; | ||
26 | 26 | ||
27 | @NgModule({ | 27 | @NgModule({ |
28 | declarations: | 28 | declarations: |
@@ -20,10 +20,8 @@ import { AppState } from '@core/core.state'; | @@ -20,10 +20,8 @@ import { AppState } from '@core/core.state'; | ||
20 | import { PageComponent } from '@shared/components/page.component'; | 20 | import { PageComponent } from '@shared/components/page.component'; |
21 | import { Router } from '@angular/router'; | 21 | import { Router } from '@angular/router'; |
22 | import { FormBuilder, FormGroup, Validators } from '@angular/forms'; | 22 | import { FormBuilder, FormGroup, Validators } from '@angular/forms'; |
23 | -import {AdminSettings, GeneralSettings} from '@shared/models/settings.models'; | 23 | +import { AdminSettings, GeneralSettings } from '@shared/models/settings.models'; |
24 | import { AdminService } from '@core/http/admin.service'; | 24 | import { AdminService } from '@core/http/admin.service'; |
25 | -import { ActionNotificationShow } from '@core/notification/notification.actions'; | ||
26 | -import { TranslateService } from '@ngx-translate/core'; | ||
27 | import { HasConfirmForm } from '@core/guards/confirm-on-exit.guard'; | 25 | import { HasConfirmForm } from '@core/guards/confirm-on-exit.guard'; |
28 | 26 | ||
29 | @Component({ | 27 | @Component({ |
@@ -39,7 +37,6 @@ export class GeneralSettingsComponent extends PageComponent implements OnInit, H | @@ -39,7 +37,6 @@ export class GeneralSettingsComponent extends PageComponent implements OnInit, H | ||
39 | constructor(protected store: Store<AppState>, | 37 | constructor(protected store: Store<AppState>, |
40 | private router: Router, | 38 | private router: Router, |
41 | private adminService: AdminService, | 39 | private adminService: AdminService, |
42 | - private translate: TranslateService, | ||
43 | public fb: FormBuilder) { | 40 | public fb: FormBuilder) { |
44 | super(store); | 41 | super(store); |
45 | } | 42 | } |
@@ -95,13 +95,12 @@ | @@ -95,13 +95,12 @@ | ||
95 | <mat-label translate>common.password</mat-label> | 95 | <mat-label translate>common.password</mat-label> |
96 | <input matInput formControlName="password" type="password" placeholder="{{ 'common.enter-password' | translate }}"/> | 96 | <input matInput formControlName="password" type="password" placeholder="{{ 'common.enter-password' | translate }}"/> |
97 | </mat-form-field> | 97 | </mat-form-field> |
98 | - <div fxLayout="row" fxLayoutAlign="end center" style="width: 100%;" class="layout-wrap"> | ||
99 | - <button mat-button mat-raised-button | ||
100 | - type="button" style="margin-right: 16px;" | 98 | + <div fxLayout="row" fxLayoutAlign="end center" fxLayout.xs="column" fxLayoutAlign.xs="end" fxLayoutGap="16px"> |
99 | + <button mat-raised-button type="button" | ||
101 | [disabled]="(isLoading$ | async) || mailSettingsForm.invalid" (click)="sendTestMail()"> | 100 | [disabled]="(isLoading$ | async) || mailSettingsForm.invalid" (click)="sendTestMail()"> |
102 | {{'admin.send-test-mail' | translate}} | 101 | {{'admin.send-test-mail' | translate}} |
103 | </button> | 102 | </button> |
104 | - <button mat-button mat-raised-button color="primary" [disabled]="(isLoading$ | async) || mailSettingsForm.invalid || !mailSettingsForm.dirty" | 103 | + <button mat-raised-button color="primary" [disabled]="(isLoading$ | async) || mailSettingsForm.invalid || !mailSettingsForm.dirty" |
105 | type="submit">{{'action.save' | translate}} | 104 | type="submit">{{'action.save' | translate}} |
106 | </button> | 105 | </button> |
107 | </div> | 106 | </div> |
@@ -20,10 +20,8 @@ import { AppState } from '@core/core.state'; | @@ -20,10 +20,8 @@ import { AppState } from '@core/core.state'; | ||
20 | import { PageComponent } from '@shared/components/page.component'; | 20 | import { PageComponent } from '@shared/components/page.component'; |
21 | import { Router } from '@angular/router'; | 21 | import { Router } from '@angular/router'; |
22 | import { FormBuilder, FormGroup, Validators } from '@angular/forms'; | 22 | import { FormBuilder, FormGroup, Validators } from '@angular/forms'; |
23 | -import { SecuritySettings} from '@shared/models/settings.models'; | 23 | +import { SecuritySettings } from '@shared/models/settings.models'; |
24 | import { AdminService } from '@core/http/admin.service'; | 24 | import { AdminService } from '@core/http/admin.service'; |
25 | -import { ActionNotificationShow } from '@core/notification/notification.actions'; | ||
26 | -import { TranslateService } from '@ngx-translate/core'; | ||
27 | import { HasConfirmForm } from '@core/guards/confirm-on-exit.guard'; | 25 | import { HasConfirmForm } from '@core/guards/confirm-on-exit.guard'; |
28 | 26 | ||
29 | @Component({ | 27 | @Component({ |
@@ -39,7 +37,6 @@ export class SecuritySettingsComponent extends PageComponent implements OnInit, | @@ -39,7 +37,6 @@ export class SecuritySettingsComponent extends PageComponent implements OnInit, | ||
39 | constructor(protected store: Store<AppState>, | 37 | constructor(protected store: Store<AppState>, |
40 | private router: Router, | 38 | private router: Router, |
41 | private adminService: AdminService, | 39 | private adminService: AdminService, |
42 | - private translate: TranslateService, | ||
43 | public fb: FormBuilder) { | 40 | public fb: FormBuilder) { |
44 | super(store); | 41 | super(store); |
45 | } | 42 | } |
@@ -14,16 +14,16 @@ | @@ -14,16 +14,16 @@ | ||
14 | /// limitations under the License. | 14 | /// limitations under the License. |
15 | /// | 15 | /// |
16 | 16 | ||
17 | -import {NgModule} from '@angular/core'; | ||
18 | -import {RouterModule, Routes} from '@angular/router'; | 17 | +import { NgModule } from '@angular/core'; |
18 | +import { RouterModule, Routes } from '@angular/router'; | ||
19 | 19 | ||
20 | -import {EntitiesTableComponent} from '../../components/entity/entities-table.component'; | ||
21 | -import {Authority} from '@shared/models/authority.enum'; | ||
22 | -import {UsersTableConfigResolver} from '../user/users-table-config.resolver'; | ||
23 | -import {CustomersTableConfigResolver} from './customers-table-config.resolver'; | ||
24 | -import {DevicesTableConfigResolver} from '@modules/home/pages/device/devices-table-config.resolver'; | ||
25 | -import {AssetsTableConfigResolver} from '../asset/assets-table-config.resolver'; | ||
26 | -import {DashboardsTableConfigResolver} from '@modules/home/pages/dashboard/dashboards-table-config.resolver'; | 20 | +import { EntitiesTableComponent } from '../../components/entity/entities-table.component'; |
21 | +import { Authority } from '@shared/models/authority.enum'; | ||
22 | +import { UsersTableConfigResolver } from '../user/users-table-config.resolver'; | ||
23 | +import { CustomersTableConfigResolver } from './customers-table-config.resolver'; | ||
24 | +import { DevicesTableConfigResolver } from '@modules/home/pages/device/devices-table-config.resolver'; | ||
25 | +import { AssetsTableConfigResolver } from '../asset/assets-table-config.resolver'; | ||
26 | +import { DashboardsTableConfigResolver } from '@modules/home/pages/dashboard/dashboards-table-config.resolver'; | ||
27 | import { DashboardPageComponent } from '@home/pages/dashboard/dashboard-page.component'; | 27 | import { DashboardPageComponent } from '@home/pages/dashboard/dashboard-page.component'; |
28 | import { BreadCrumbConfig } from '@shared/components/breadcrumb'; | 28 | import { BreadCrumbConfig } from '@shared/components/breadcrumb'; |
29 | import { dashboardBreadcumbLabelFunction, DashboardResolver } from '@home/pages/dashboard/dashboard-routing.module'; | 29 | import { dashboardBreadcumbLabelFunction, DashboardResolver } from '@home/pages/dashboard/dashboard-routing.module'; |
@@ -17,9 +17,9 @@ | @@ -17,9 +17,9 @@ | ||
17 | import { NgModule } from '@angular/core'; | 17 | import { NgModule } from '@angular/core'; |
18 | import { CommonModule } from '@angular/common'; | 18 | import { CommonModule } from '@angular/common'; |
19 | import { SharedModule } from '@shared/shared.module'; | 19 | import { SharedModule } from '@shared/shared.module'; |
20 | -import {CustomerComponent} from '@modules/home/pages/customer/customer.component'; | ||
21 | -import {CustomerRoutingModule} from './customer-routing.module'; | ||
22 | -import {HomeComponentsModule} from '@modules/home/components/home-components.module'; | 20 | +import { CustomerComponent } from '@modules/home/pages/customer/customer.component'; |
21 | +import { CustomerRoutingModule } from './customer-routing.module'; | ||
22 | +import { HomeComponentsModule } from '@modules/home/components/home-components.module'; | ||
23 | import { CustomerTabsComponent } from '@home/pages/customer/customer-tabs.component'; | 23 | import { CustomerTabsComponent } from '@home/pages/customer/customer-tabs.component'; |
24 | 24 | ||
25 | @NgModule({ | 25 | @NgModule({ |
@@ -18,7 +18,6 @@ import { Injectable } from '@angular/core'; | @@ -18,7 +18,6 @@ import { Injectable } from '@angular/core'; | ||
18 | 18 | ||
19 | import { Resolve, Router } from '@angular/router'; | 19 | import { Resolve, Router } from '@angular/router'; |
20 | 20 | ||
21 | -import { Tenant } from '@shared/models/tenant.model'; | ||
22 | import { | 21 | import { |
23 | DateEntityTableColumn, | 22 | DateEntityTableColumn, |
24 | EntityTableColumn, | 23 | EntityTableColumn, |
@@ -26,15 +25,11 @@ import { | @@ -26,15 +25,11 @@ import { | ||
26 | } from '@home/models/entity/entities-table-config.models'; | 25 | } from '@home/models/entity/entities-table-config.models'; |
27 | import { TranslateService } from '@ngx-translate/core'; | 26 | import { TranslateService } from '@ngx-translate/core'; |
28 | import { DatePipe } from '@angular/common'; | 27 | import { DatePipe } from '@angular/common'; |
29 | -import { | ||
30 | - EntityType, | ||
31 | - entityTypeResources, | ||
32 | - entityTypeTranslations | ||
33 | -} from '@shared/models/entity-type.models'; | 28 | +import { EntityType, entityTypeResources, entityTypeTranslations } from '@shared/models/entity-type.models'; |
34 | import { EntityAction } from '@home/models/entity/entity-component.models'; | 29 | import { EntityAction } from '@home/models/entity/entity-component.models'; |
35 | -import {Customer} from '@app/shared/models/customer.model'; | ||
36 | -import {CustomerService} from '@app/core/http/customer.service'; | ||
37 | -import {CustomerComponent} from '@modules/home/pages/customer/customer.component'; | 30 | +import { Customer } from '@app/shared/models/customer.model'; |
31 | +import { CustomerService } from '@app/core/http/customer.service'; | ||
32 | +import { CustomerComponent } from '@modules/home/pages/customer/customer.component'; | ||
38 | import { CustomerTabsComponent } from '@home/pages/customer/customer-tabs.component'; | 33 | import { CustomerTabsComponent } from '@home/pages/customer/customer-tabs.component'; |
39 | 34 | ||
40 | @Injectable() | 35 | @Injectable() |
@@ -54,7 +49,7 @@ export class CustomersTableConfigResolver implements Resolve<EntityTableConfig<C | @@ -54,7 +49,7 @@ export class CustomersTableConfigResolver implements Resolve<EntityTableConfig<C | ||
54 | this.config.entityResources = entityTypeResources.get(EntityType.CUSTOMER); | 49 | this.config.entityResources = entityTypeResources.get(EntityType.CUSTOMER); |
55 | 50 | ||
56 | this.config.columns.push( | 51 | this.config.columns.push( |
57 | - new DateEntityTableColumn<Customer>('createdTime', 'customer.created-time', this.datePipe, '150px'), | 52 | + new DateEntityTableColumn<Customer>('createdTime', 'common.created-time', this.datePipe, '150px'), |
58 | new EntityTableColumn<Customer>('title', 'customer.title', '25%'), | 53 | new EntityTableColumn<Customer>('title', 'customer.title', '25%'), |
59 | new EntityTableColumn<Customer>('email', 'contact.email', '25%'), | 54 | new EntityTableColumn<Customer>('email', 'contact.email', '25%'), |
60 | new EntityTableColumn<Customer>('country', 'contact.country', '25%'), | 55 | new EntityTableColumn<Customer>('country', 'contact.country', '25%'), |
@@ -45,7 +45,7 @@ import { | @@ -45,7 +45,7 @@ import { | ||
45 | import { BreakpointObserver, BreakpointState } from '@angular/cdk/layout'; | 45 | import { BreakpointObserver, BreakpointState } from '@angular/cdk/layout'; |
46 | import { MediaBreakpoints } from '@shared/models/constants'; | 46 | import { MediaBreakpoints } from '@shared/models/constants'; |
47 | import { AuthUser } from '@shared/models/user.model'; | 47 | import { AuthUser } from '@shared/models/user.model'; |
48 | -import { getCurrentAuthState, getCurrentAuthUser } from '@core/auth/auth.selectors'; | 48 | +import { getCurrentAuthState } from '@core/auth/auth.selectors'; |
49 | import { Widget, WidgetConfig, WidgetPosition, widgetTypesData } from '@app/shared/models/widget.models'; | 49 | import { Widget, WidgetConfig, WidgetPosition, widgetTypesData } from '@app/shared/models/widget.models'; |
50 | import { environment as env } from '@env/environment'; | 50 | import { environment as env } from '@env/environment'; |
51 | import { Authority } from '@shared/models/authority.enum'; | 51 | import { Authority } from '@shared/models/authority.enum'; |
@@ -14,17 +14,12 @@ | @@ -14,17 +14,12 @@ | ||
14 | /// limitations under the License. | 14 | /// limitations under the License. |
15 | /// | 15 | /// |
16 | 16 | ||
17 | -import { DashboardLayoutId, GridSettings, WidgetLayout, Dashboard, WidgetLayouts } from '@app/shared/models/dashboard.models'; | 17 | +import { Dashboard, DashboardLayoutId, GridSettings, WidgetLayouts } from '@app/shared/models/dashboard.models'; |
18 | import { Widget, WidgetPosition } from '@app/shared/models/widget.models'; | 18 | import { Widget, WidgetPosition } from '@app/shared/models/widget.models'; |
19 | import { Timewindow } from '@shared/models/time/time.models'; | 19 | import { Timewindow } from '@shared/models/time/time.models'; |
20 | import { IAliasController, IStateController } from '@core/api/widget-api.models'; | 20 | import { IAliasController, IStateController } from '@core/api/widget-api.models'; |
21 | import { ILayoutController } from './layout/layout.models'; | 21 | import { ILayoutController } from './layout/layout.models'; |
22 | -import { | ||
23 | - DashboardContextMenuItem, | ||
24 | - WidgetContextMenuItem | ||
25 | -} from '@home/models/dashboard-component.models'; | ||
26 | -import { Observable } from 'rxjs'; | ||
27 | -import { ChangeDetectorRef } from '@angular/core'; | 22 | +import { DashboardContextMenuItem, WidgetContextMenuItem } from '@home/models/dashboard-component.models'; |
28 | 23 | ||
29 | export declare type DashboardPageScope = 'tenant' | 'customer'; | 24 | export declare type DashboardPageScope = 'tenant' | 'customer'; |
30 | 25 |
@@ -17,14 +17,11 @@ | @@ -17,14 +17,11 @@ | ||
17 | import { Injectable, NgModule } from '@angular/core'; | 17 | import { Injectable, NgModule } from '@angular/core'; |
18 | import { ActivatedRouteSnapshot, Resolve, RouterModule, Routes } from '@angular/router'; | 18 | import { ActivatedRouteSnapshot, Resolve, RouterModule, Routes } from '@angular/router'; |
19 | 19 | ||
20 | -import {EntitiesTableComponent} from '../../components/entity/entities-table.component'; | ||
21 | -import {Authority} from '@shared/models/authority.enum'; | ||
22 | -import {DashboardsTableConfigResolver} from './dashboards-table-config.resolver'; | 20 | +import { EntitiesTableComponent } from '../../components/entity/entities-table.component'; |
21 | +import { Authority } from '@shared/models/authority.enum'; | ||
22 | +import { DashboardsTableConfigResolver } from './dashboards-table-config.resolver'; | ||
23 | import { DashboardPageComponent } from '@home/pages/dashboard/dashboard-page.component'; | 23 | import { DashboardPageComponent } from '@home/pages/dashboard/dashboard-page.component'; |
24 | import { BreadCrumbConfig, BreadCrumbLabelFunction } from '@shared/components/breadcrumb'; | 24 | import { BreadCrumbConfig, BreadCrumbLabelFunction } from '@shared/components/breadcrumb'; |
25 | -import { widgetTypesBreadcumbLabelFunction } from '@home/pages/widget/widget-library-routing.module'; | ||
26 | -import { WidgetsBundle } from '@shared/models/widgets-bundle.model'; | ||
27 | -import { WidgetService } from '@core/http/widget.service'; | ||
28 | import { Observable } from 'rxjs'; | 25 | import { Observable } from 'rxjs'; |
29 | import { Dashboard } from '@app/shared/models/dashboard.models'; | 26 | import { Dashboard } from '@app/shared/models/dashboard.models'; |
30 | import { DashboardService } from '@core/http/dashboard.service'; | 27 | import { DashboardService } from '@core/http/dashboard.service'; |
@@ -14,9 +14,9 @@ | @@ -14,9 +14,9 @@ | ||
14 | /// limitations under the License. | 14 | /// limitations under the License. |
15 | /// | 15 | /// |
16 | 16 | ||
17 | -import {Injectable} from '@angular/core'; | 17 | +import { Injectable } from '@angular/core'; |
18 | 18 | ||
19 | -import {ActivatedRouteSnapshot, Resolve, Router} from '@angular/router'; | 19 | +import { ActivatedRouteSnapshot, Resolve, Router } from '@angular/router'; |
20 | import { | 20 | import { |
21 | CellActionDescriptor, | 21 | CellActionDescriptor, |
22 | checkBoxCell, | 22 | checkBoxCell, |
@@ -26,20 +26,20 @@ import { | @@ -26,20 +26,20 @@ import { | ||
26 | GroupActionDescriptor, | 26 | GroupActionDescriptor, |
27 | HeaderActionDescriptor | 27 | HeaderActionDescriptor |
28 | } from '@home/models/entity/entities-table-config.models'; | 28 | } from '@home/models/entity/entities-table-config.models'; |
29 | -import {TranslateService} from '@ngx-translate/core'; | ||
30 | -import {DatePipe} from '@angular/common'; | ||
31 | -import {EntityType, entityTypeResources, entityTypeTranslations} from '@shared/models/entity-type.models'; | ||
32 | -import {EntityAction} from '@home/models/entity/entity-component.models'; | ||
33 | -import {forkJoin, Observable, of} from 'rxjs'; | ||
34 | -import {select, Store} from '@ngrx/store'; | ||
35 | -import {selectAuthUser} from '@core/auth/auth.selectors'; | ||
36 | -import {map, mergeMap, take, tap} from 'rxjs/operators'; | ||
37 | -import {AppState} from '@core/core.state'; | ||
38 | -import {Authority} from '@app/shared/models/authority.enum'; | ||
39 | -import {CustomerService} from '@core/http/customer.service'; | ||
40 | -import {Customer} from '@app/shared/models/customer.model'; | 29 | +import { TranslateService } from '@ngx-translate/core'; |
30 | +import { DatePipe } from '@angular/common'; | ||
31 | +import { EntityType, entityTypeResources, entityTypeTranslations } from '@shared/models/entity-type.models'; | ||
32 | +import { EntityAction } from '@home/models/entity/entity-component.models'; | ||
33 | +import { forkJoin, Observable, of } from 'rxjs'; | ||
34 | +import { select, Store } from '@ngrx/store'; | ||
35 | +import { selectAuthUser } from '@core/auth/auth.selectors'; | ||
36 | +import { map, mergeMap, take, tap } from 'rxjs/operators'; | ||
37 | +import { AppState } from '@core/core.state'; | ||
38 | +import { Authority } from '@app/shared/models/authority.enum'; | ||
39 | +import { CustomerService } from '@core/http/customer.service'; | ||
40 | +import { Customer } from '@app/shared/models/customer.model'; | ||
41 | import { MatDialog } from '@angular/material/dialog'; | 41 | import { MatDialog } from '@angular/material/dialog'; |
42 | -import {DialogService} from '@core/services/dialog.service'; | 42 | +import { DialogService } from '@core/services/dialog.service'; |
43 | import { | 43 | import { |
44 | AddEntitiesToCustomerDialogComponent, | 44 | AddEntitiesToCustomerDialogComponent, |
45 | AddEntitiesToCustomerDialogData | 45 | AddEntitiesToCustomerDialogData |
@@ -51,8 +51,8 @@ import { | @@ -51,8 +51,8 @@ import { | ||
51 | isCurrentPublicDashboardCustomer, | 51 | isCurrentPublicDashboardCustomer, |
52 | isPublicDashboard | 52 | isPublicDashboard |
53 | } from '@app/shared/models/dashboard.models'; | 53 | } from '@app/shared/models/dashboard.models'; |
54 | -import {DashboardService} from '@app/core/http/dashboard.service'; | ||
55 | -import {DashboardFormComponent} from '@modules/home/pages/dashboard/dashboard-form.component'; | 54 | +import { DashboardService } from '@app/core/http/dashboard.service'; |
55 | +import { DashboardFormComponent } from '@modules/home/pages/dashboard/dashboard-form.component'; | ||
56 | import { | 56 | import { |
57 | ManageDashboardCustomersActionType, | 57 | ManageDashboardCustomersActionType, |
58 | ManageDashboardCustomersDialogComponent, | 58 | ManageDashboardCustomersDialogComponent, |
@@ -142,7 +142,7 @@ export class DashboardsTableConfigResolver implements Resolve<EntityTableConfig< | @@ -142,7 +142,7 @@ export class DashboardsTableConfigResolver implements Resolve<EntityTableConfig< | ||
142 | 142 | ||
143 | configureColumns(dashboardScope: string): Array<EntityTableColumn<DashboardInfo>> { | 143 | configureColumns(dashboardScope: string): Array<EntityTableColumn<DashboardInfo>> { |
144 | const columns: Array<EntityTableColumn<DashboardInfo>> = [ | 144 | const columns: Array<EntityTableColumn<DashboardInfo>> = [ |
145 | - new DateEntityTableColumn<DashboardInfo>('createdTime', 'dashboard.created-time', this.datePipe, '150px'), | 145 | + new DateEntityTableColumn<DashboardInfo>('createdTime', 'common.created-time', this.datePipe, '150px'), |
146 | new EntityTableColumn<DashboardInfo>('title', 'dashboard.title', '50%') | 146 | new EntityTableColumn<DashboardInfo>('title', 'dashboard.title', '50%') |
147 | ]; | 147 | ]; |
148 | if (dashboardScope === 'tenant') { | 148 | if (dashboardScope === 'tenant') { |
@@ -14,12 +14,12 @@ | @@ -14,12 +14,12 @@ | ||
14 | /// limitations under the License. | 14 | /// limitations under the License. |
15 | /// | 15 | /// |
16 | 16 | ||
17 | -import {NgModule} from '@angular/core'; | ||
18 | -import {RouterModule, Routes} from '@angular/router'; | 17 | +import { NgModule } from '@angular/core'; |
18 | +import { RouterModule, Routes } from '@angular/router'; | ||
19 | 19 | ||
20 | -import {EntitiesTableComponent} from '../../components/entity/entities-table.component'; | ||
21 | -import {Authority} from '@shared/models/authority.enum'; | ||
22 | -import {DevicesTableConfigResolver} from '@modules/home/pages/device/devices-table-config.resolver'; | 20 | +import { EntitiesTableComponent } from '../../components/entity/entities-table.component'; |
21 | +import { Authority } from '@shared/models/authority.enum'; | ||
22 | +import { DevicesTableConfigResolver } from '@modules/home/pages/device/devices-table-config.resolver'; | ||
23 | 23 | ||
24 | const routes: Routes = [ | 24 | const routes: Routes = [ |
25 | { | 25 | { |
@@ -149,7 +149,7 @@ export class DevicesTableConfigResolver implements Resolve<EntityTableConfig<Dev | @@ -149,7 +149,7 @@ export class DevicesTableConfigResolver implements Resolve<EntityTableConfig<Dev | ||
149 | 149 | ||
150 | configureColumns(deviceScope: string): Array<EntityTableColumn<DeviceInfo>> { | 150 | configureColumns(deviceScope: string): Array<EntityTableColumn<DeviceInfo>> { |
151 | const columns: Array<EntityTableColumn<DeviceInfo>> = [ | 151 | const columns: Array<EntityTableColumn<DeviceInfo>> = [ |
152 | - new DateEntityTableColumn<DeviceInfo>('createdTime', 'device.created-time', this.datePipe, '150px'), | 152 | + new DateEntityTableColumn<DeviceInfo>('createdTime', 'common.created-time', this.datePipe, '150px'), |
153 | new EntityTableColumn<DeviceInfo>('name', 'device.name', '25%'), | 153 | new EntityTableColumn<DeviceInfo>('name', 'device.name', '25%'), |
154 | new EntityTableColumn<DeviceInfo>('type', 'device.device-type', '25%'), | 154 | new EntityTableColumn<DeviceInfo>('type', 'device.device-type', '25%'), |
155 | new EntityTableColumn<DeviceInfo>('label', 'device.label', '25%') | 155 | new EntityTableColumn<DeviceInfo>('label', 'device.label', '25%') |
@@ -14,12 +14,12 @@ | @@ -14,12 +14,12 @@ | ||
14 | /// limitations under the License. | 14 | /// limitations under the License. |
15 | /// | 15 | /// |
16 | 16 | ||
17 | -import {NgModule} from '@angular/core'; | ||
18 | -import {RouterModule, Routes} from '@angular/router'; | 17 | +import { NgModule } from '@angular/core'; |
18 | +import { RouterModule, Routes } from '@angular/router'; | ||
19 | 19 | ||
20 | -import {EntitiesTableComponent} from '../../components/entity/entities-table.component'; | ||
21 | -import {Authority} from '@shared/models/authority.enum'; | ||
22 | -import {EntityViewsTableConfigResolver} from '@modules/home/pages/entity-view/entity-views-table-config.resolver'; | 20 | +import { EntitiesTableComponent } from '../../components/entity/entities-table.component'; |
21 | +import { Authority } from '@shared/models/authority.enum'; | ||
22 | +import { EntityViewsTableConfigResolver } from '@modules/home/pages/entity-view/entity-views-table-config.resolver'; | ||
23 | 23 | ||
24 | const routes: Routes = [ | 24 | const routes: Routes = [ |
25 | { | 25 | { |
@@ -14,12 +14,12 @@ | @@ -14,12 +14,12 @@ | ||
14 | /// limitations under the License. | 14 | /// limitations under the License. |
15 | /// | 15 | /// |
16 | 16 | ||
17 | -import {Component} from '@angular/core'; | ||
18 | -import {Store} from '@ngrx/store'; | ||
19 | -import {AppState} from '@core/core.state'; | ||
20 | -import {EntityTableHeaderComponent} from '../../components/entity/entity-table-header.component'; | ||
21 | -import {EntityType} from '@shared/models/entity-type.models'; | ||
22 | -import {EntityViewInfo} from '@app/shared/models/entity-view.models'; | 17 | +import { Component } from '@angular/core'; |
18 | +import { Store } from '@ngrx/store'; | ||
19 | +import { AppState } from '@core/core.state'; | ||
20 | +import { EntityTableHeaderComponent } from '../../components/entity/entity-table-header.component'; | ||
21 | +import { EntityType } from '@shared/models/entity-type.models'; | ||
22 | +import { EntityViewInfo } from '@app/shared/models/entity-view.models'; | ||
23 | 23 | ||
24 | @Component({ | 24 | @Component({ |
25 | selector: 'tb-entity-view-table-header', | 25 | selector: 'tb-entity-view-table-header', |
@@ -14,20 +14,19 @@ | @@ -14,20 +14,19 @@ | ||
14 | /// limitations under the License. | 14 | /// limitations under the License. |
15 | /// | 15 | /// |
16 | 16 | ||
17 | -import {Component} from '@angular/core'; | ||
18 | -import {Store} from '@ngrx/store'; | ||
19 | -import {AppState} from '@core/core.state'; | ||
20 | -import {EntityComponent} from '../../components/entity/entity.component'; | ||
21 | -import {FormBuilder, FormGroup, Validators} from '@angular/forms'; | ||
22 | -import {EntityType} from '@shared/models/entity-type.models'; | ||
23 | -import {NULL_UUID} from '@shared/models/id/has-uuid'; | ||
24 | -import {ActionNotificationShow} from '@core/notification/notification.actions'; | ||
25 | -import {TranslateService} from '@ngx-translate/core'; | ||
26 | -import {EntityViewInfo} from '@app/shared/models/entity-view.models'; | ||
27 | -import {Observable} from 'rxjs'; | ||
28 | -import {map} from 'rxjs/operators'; | ||
29 | -import {DataKeyType} from '@shared/models/telemetry/telemetry.models'; | ||
30 | -import {EntityId} from '@app/shared/models/id/entity-id'; | 17 | +import { Component } from '@angular/core'; |
18 | +import { Store } from '@ngrx/store'; | ||
19 | +import { AppState } from '@core/core.state'; | ||
20 | +import { EntityComponent } from '../../components/entity/entity.component'; | ||
21 | +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; | ||
22 | +import { EntityType } from '@shared/models/entity-type.models'; | ||
23 | +import { NULL_UUID } from '@shared/models/id/has-uuid'; | ||
24 | +import { ActionNotificationShow } from '@core/notification/notification.actions'; | ||
25 | +import { TranslateService } from '@ngx-translate/core'; | ||
26 | +import { EntityViewInfo } from '@app/shared/models/entity-view.models'; | ||
27 | +import { Observable } from 'rxjs'; | ||
28 | +import { DataKeyType } from '@shared/models/telemetry/telemetry.models'; | ||
29 | +import { EntityId } from '@app/shared/models/id/entity-id'; | ||
31 | 30 | ||
32 | @Component({ | 31 | @Component({ |
33 | selector: 'tb-entity-view', | 32 | selector: 'tb-entity-view', |
@@ -14,14 +14,14 @@ | @@ -14,14 +14,14 @@ | ||
14 | /// limitations under the License. | 14 | /// limitations under the License. |
15 | /// | 15 | /// |
16 | 16 | ||
17 | -import {NgModule} from '@angular/core'; | ||
18 | -import {CommonModule} from '@angular/common'; | ||
19 | -import {SharedModule} from '@shared/shared.module'; | ||
20 | -import {HomeDialogsModule} from '../../dialogs/home-dialogs.module'; | ||
21 | -import {EntityViewComponent} from '@modules/home/pages/entity-view/entity-view.component'; | ||
22 | -import {EntityViewTableHeaderComponent} from './entity-view-table-header.component'; | ||
23 | -import {EntityViewRoutingModule} from './entity-view-routing.module'; | ||
24 | -import {HomeComponentsModule} from '@modules/home/components/home-components.module'; | 17 | +import { NgModule } from '@angular/core'; |
18 | +import { CommonModule } from '@angular/common'; | ||
19 | +import { SharedModule } from '@shared/shared.module'; | ||
20 | +import { HomeDialogsModule } from '../../dialogs/home-dialogs.module'; | ||
21 | +import { EntityViewComponent } from '@modules/home/pages/entity-view/entity-view.component'; | ||
22 | +import { EntityViewTableHeaderComponent } from './entity-view-table-header.component'; | ||
23 | +import { EntityViewRoutingModule } from './entity-view-routing.module'; | ||
24 | +import { HomeComponentsModule } from '@modules/home/components/home-components.module'; | ||
25 | import { EntityViewTabsComponent } from '@home/pages/entity-view/entity-view-tabs.component'; | 25 | import { EntityViewTabsComponent } from '@home/pages/entity-view/entity-view-tabs.component'; |
26 | 26 | ||
27 | @NgModule({ | 27 | @NgModule({ |
@@ -14,9 +14,9 @@ | @@ -14,9 +14,9 @@ | ||
14 | /// limitations under the License. | 14 | /// limitations under the License. |
15 | /// | 15 | /// |
16 | 16 | ||
17 | -import {Injectable} from '@angular/core'; | 17 | +import { Injectable } from '@angular/core'; |
18 | 18 | ||
19 | -import {ActivatedRouteSnapshot, Resolve, Router} from '@angular/router'; | 19 | +import { ActivatedRouteSnapshot, Resolve, Router } from '@angular/router'; |
20 | import { | 20 | import { |
21 | CellActionDescriptor, | 21 | CellActionDescriptor, |
22 | checkBoxCell, | 22 | checkBoxCell, |
@@ -26,22 +26,22 @@ import { | @@ -26,22 +26,22 @@ import { | ||
26 | GroupActionDescriptor, | 26 | GroupActionDescriptor, |
27 | HeaderActionDescriptor | 27 | HeaderActionDescriptor |
28 | } from '@home/models/entity/entities-table-config.models'; | 28 | } from '@home/models/entity/entities-table-config.models'; |
29 | -import {TranslateService} from '@ngx-translate/core'; | ||
30 | -import {DatePipe} from '@angular/common'; | ||
31 | -import {EntityType, entityTypeResources, entityTypeTranslations} from '@shared/models/entity-type.models'; | ||
32 | -import {EntityAction} from '@home/models/entity/entity-component.models'; | ||
33 | -import {forkJoin, Observable, of} from 'rxjs'; | ||
34 | -import {select, Store} from '@ngrx/store'; | ||
35 | -import {selectAuthUser} from '@core/auth/auth.selectors'; | ||
36 | -import {map, mergeMap, take, tap} from 'rxjs/operators'; | ||
37 | -import {AppState} from '@core/core.state'; | ||
38 | -import {Authority} from '@app/shared/models/authority.enum'; | ||
39 | -import {CustomerService} from '@core/http/customer.service'; | ||
40 | -import {Customer} from '@app/shared/models/customer.model'; | ||
41 | -import {NULL_UUID} from '@shared/models/id/has-uuid'; | ||
42 | -import {BroadcastService} from '@core/services/broadcast.service'; | 29 | +import { TranslateService } from '@ngx-translate/core'; |
30 | +import { DatePipe } from '@angular/common'; | ||
31 | +import { EntityType, entityTypeResources, entityTypeTranslations } from '@shared/models/entity-type.models'; | ||
32 | +import { EntityAction } from '@home/models/entity/entity-component.models'; | ||
33 | +import { forkJoin, Observable, of } from 'rxjs'; | ||
34 | +import { select, Store } from '@ngrx/store'; | ||
35 | +import { selectAuthUser } from '@core/auth/auth.selectors'; | ||
36 | +import { map, mergeMap, take, tap } from 'rxjs/operators'; | ||
37 | +import { AppState } from '@core/core.state'; | ||
38 | +import { Authority } from '@app/shared/models/authority.enum'; | ||
39 | +import { CustomerService } from '@core/http/customer.service'; | ||
40 | +import { Customer } from '@app/shared/models/customer.model'; | ||
41 | +import { NULL_UUID } from '@shared/models/id/has-uuid'; | ||
42 | +import { BroadcastService } from '@core/services/broadcast.service'; | ||
43 | import { MatDialog } from '@angular/material/dialog'; | 43 | import { MatDialog } from '@angular/material/dialog'; |
44 | -import {DialogService} from '@core/services/dialog.service'; | 44 | +import { DialogService } from '@core/services/dialog.service'; |
45 | import { | 45 | import { |
46 | AssignToCustomerDialogComponent, | 46 | AssignToCustomerDialogComponent, |
47 | AssignToCustomerDialogData | 47 | AssignToCustomerDialogData |
@@ -50,11 +50,11 @@ import { | @@ -50,11 +50,11 @@ import { | ||
50 | AddEntitiesToCustomerDialogComponent, | 50 | AddEntitiesToCustomerDialogComponent, |
51 | AddEntitiesToCustomerDialogData | 51 | AddEntitiesToCustomerDialogData |
52 | } from '../../dialogs/add-entities-to-customer-dialog.component'; | 52 | } from '../../dialogs/add-entities-to-customer-dialog.component'; |
53 | -import {EntityView, EntityViewInfo} from '@app/shared/models/entity-view.models'; | ||
54 | -import {EntityViewService} from '@core/http/entity-view.service'; | ||
55 | -import {EntityViewComponent} from '@modules/home/pages/entity-view/entity-view.component'; | ||
56 | -import {EntityViewTableHeaderComponent} from '@modules/home/pages/entity-view/entity-view-table-header.component'; | ||
57 | -import {EntityViewId} from '@shared/models/id/entity-view-id'; | 53 | +import { EntityView, EntityViewInfo } from '@app/shared/models/entity-view.models'; |
54 | +import { EntityViewService } from '@core/http/entity-view.service'; | ||
55 | +import { EntityViewComponent } from '@modules/home/pages/entity-view/entity-view.component'; | ||
56 | +import { EntityViewTableHeaderComponent } from '@modules/home/pages/entity-view/entity-view-table-header.component'; | ||
57 | +import { EntityViewId } from '@shared/models/id/entity-view-id'; | ||
58 | import { EntityViewTabsComponent } from '@home/pages/entity-view/entity-view-tabs.component'; | 58 | import { EntityViewTabsComponent } from '@home/pages/entity-view/entity-view-tabs.component'; |
59 | 59 | ||
60 | @Injectable() | 60 | @Injectable() |
@@ -146,7 +146,7 @@ export class EntityViewsTableConfigResolver implements Resolve<EntityTableConfig | @@ -146,7 +146,7 @@ export class EntityViewsTableConfigResolver implements Resolve<EntityTableConfig | ||
146 | 146 | ||
147 | configureColumns(entityViewScope: string): Array<EntityTableColumn<EntityViewInfo>> { | 147 | configureColumns(entityViewScope: string): Array<EntityTableColumn<EntityViewInfo>> { |
148 | const columns: Array<EntityTableColumn<EntityViewInfo>> = [ | 148 | const columns: Array<EntityTableColumn<EntityViewInfo>> = [ |
149 | - new DateEntityTableColumn<EntityViewInfo>('createdTime', 'entity-view.created-time', this.datePipe, '150px'), | 149 | + new DateEntityTableColumn<EntityViewInfo>('createdTime', 'common.created-time', this.datePipe, '150px'), |
150 | new EntityTableColumn<EntityViewInfo>('name', 'entity-view.name', '33%'), | 150 | new EntityTableColumn<EntityViewInfo>('name', 'entity-view.name', '33%'), |
151 | new EntityTableColumn<EntityViewInfo>('type', 'entity-view.entity-view-type', '33%'), | 151 | new EntityTableColumn<EntityViewInfo>('type', 'entity-view.entity-view-type', '33%'), |
152 | ]; | 152 | ]; |
@@ -19,7 +19,7 @@ | @@ -19,7 +19,7 @@ | ||
19 | <mat-toolbar fxLayout="row" color="primary"> | 19 | <mat-toolbar fxLayout="row" color="primary"> |
20 | <h2 translate>profile.change-password</h2> | 20 | <h2 translate>profile.change-password</h2> |
21 | <span fxFlex></span> | 21 | <span fxFlex></span> |
22 | - <button mat-button mat-icon-button | 22 | + <button mat-icon-button |
23 | [mat-dialog-close]="false" | 23 | [mat-dialog-close]="false" |
24 | type="button"> | 24 | type="button"> |
25 | <mat-icon class="material-icons">close</mat-icon> | 25 | <mat-icon class="material-icons">close</mat-icon> |
@@ -45,15 +45,13 @@ | @@ -45,15 +45,13 @@ | ||
45 | <mat-icon class="material-icons" matPrefix>lock</mat-icon> | 45 | <mat-icon class="material-icons" matPrefix>lock</mat-icon> |
46 | </mat-form-field> | 46 | </mat-form-field> |
47 | </div> | 47 | </div> |
48 | - <div mat-dialog-actions fxLayout="row"> | ||
49 | - <span fxFlex></span> | ||
50 | - <button mat-button mat-raised-button color="primary" | 48 | + <div mat-dialog-actions fxLayout="row" fxLayoutAlign="end center"> |
49 | + <button mat-raised-button color="primary" | ||
51 | type="submit" | 50 | type="submit" |
52 | [disabled]="(isLoading$ | async) || changePasswordForm.invalid"> | 51 | [disabled]="(isLoading$ | async) || changePasswordForm.invalid"> |
53 | {{ 'profile.change-password' | translate }} | 52 | {{ 'profile.change-password' | translate }} |
54 | </button> | 53 | </button> |
55 | <button mat-button color="primary" | 54 | <button mat-button color="primary" |
56 | - style="margin-right: 20px;" | ||
57 | type="button" | 55 | type="button" |
58 | [disabled]="(isLoading$ | async)" | 56 | [disabled]="(isLoading$ | async)" |
59 | [mat-dialog-close]="false" cdkFocusInitial> | 57 | [mat-dialog-close]="false" cdkFocusInitial> |
@@ -16,10 +16,9 @@ | @@ -16,10 +16,9 @@ | ||
16 | 16 | ||
17 | import { Component, OnInit } from '@angular/core'; | 17 | import { Component, OnInit } from '@angular/core'; |
18 | import { MatDialogRef } from '@angular/material/dialog'; | 18 | import { MatDialogRef } from '@angular/material/dialog'; |
19 | -import { PageComponent } from '@shared/components/page.component'; | ||
20 | import { Store } from '@ngrx/store'; | 19 | import { Store } from '@ngrx/store'; |
21 | import { AppState } from '@core/core.state'; | 20 | import { AppState } from '@core/core.state'; |
22 | -import { FormBuilder, FormGroup, Validators } from '@angular/forms'; | 21 | +import { FormBuilder, FormGroup } from '@angular/forms'; |
23 | import { ActionNotificationShow } from '@core/notification/notification.actions'; | 22 | import { ActionNotificationShow } from '@core/notification/notification.actions'; |
24 | import { TranslateService } from '@ngx-translate/core'; | 23 | import { TranslateService } from '@ngx-translate/core'; |
25 | import { AuthService } from '@core/auth/auth.service'; | 24 | import { AuthService } from '@core/auth/auth.service'; |
@@ -14,18 +14,18 @@ | @@ -14,18 +14,18 @@ | ||
14 | /// limitations under the License. | 14 | /// limitations under the License. |
15 | /// | 15 | /// |
16 | 16 | ||
17 | -import {Injectable, NgModule} from '@angular/core'; | ||
18 | -import {Resolve, RouterModule, Routes} from '@angular/router'; | 17 | +import { Injectable, NgModule } from '@angular/core'; |
18 | +import { Resolve, RouterModule, Routes } from '@angular/router'; | ||
19 | 19 | ||
20 | -import {ProfileComponent} from './profile.component'; | ||
21 | -import {ConfirmOnExitGuard} from '@core/guards/confirm-on-exit.guard'; | ||
22 | -import {Authority} from '@shared/models/authority.enum'; | ||
23 | -import {User} from '@shared/models/user.model'; | ||
24 | -import {Store} from '@ngrx/store'; | ||
25 | -import {AppState} from '@core/core.state'; | ||
26 | -import {UserService} from '@core/http/user.service'; | ||
27 | -import {getCurrentAuthUser} from '@core/auth/auth.selectors'; | ||
28 | -import {Observable} from 'rxjs'; | 20 | +import { ProfileComponent } from './profile.component'; |
21 | +import { ConfirmOnExitGuard } from '@core/guards/confirm-on-exit.guard'; | ||
22 | +import { Authority } from '@shared/models/authority.enum'; | ||
23 | +import { User } from '@shared/models/user.model'; | ||
24 | +import { Store } from '@ngrx/store'; | ||
25 | +import { AppState } from '@core/core.state'; | ||
26 | +import { UserService } from '@core/http/user.service'; | ||
27 | +import { getCurrentAuthUser } from '@core/auth/auth.selectors'; | ||
28 | +import { Observable } from 'rxjs'; | ||
29 | 29 | ||
30 | @Injectable() | 30 | @Injectable() |
31 | export class UserProfileResolver implements Resolve<User> { | 31 | export class UserProfileResolver implements Resolve<User> { |
@@ -18,7 +18,7 @@ | @@ -18,7 +18,7 @@ | ||
18 | <div> | 18 | <div> |
19 | <mat-card class="profile-card"> | 19 | <mat-card class="profile-card"> |
20 | <mat-card-title> | 20 | <mat-card-title> |
21 | - <div fxLayout="row"> | 21 | + <div fxLayout="row" fxLayout.xs="column" fxLayoutGap.xs="8px"> |
22 | <div fxFlex fxLayout="column"> | 22 | <div fxFlex fxLayout="column"> |
23 | <span class="mat-headline" translate>profile.profile</span> | 23 | <span class="mat-headline" translate>profile.profile</span> |
24 | <span class="profile-email" style='opacity: 0.7;'>{{ profile ? profile.get('email').value : '' }}</span> | 24 | <span class="profile-email" style='opacity: 0.7;'>{{ profile ? profile.get('email').value : '' }}</span> |
@@ -14,24 +14,24 @@ | @@ -14,24 +14,24 @@ | ||
14 | /// limitations under the License. | 14 | /// limitations under the License. |
15 | /// | 15 | /// |
16 | 16 | ||
17 | -import {Component, OnInit} from '@angular/core'; | ||
18 | -import {UserService} from '@core/http/user.service'; | ||
19 | -import {User} from '@shared/models/user.model'; | ||
20 | -import {Authority} from '@shared/models/authority.enum'; | ||
21 | -import {PageComponent} from '@shared/components/page.component'; | ||
22 | -import {Store} from '@ngrx/store'; | ||
23 | -import {AppState} from '@core/core.state'; | ||
24 | -import {FormBuilder, FormGroup, Validators} from '@angular/forms'; | ||
25 | -import {HasConfirmForm} from '@core/guards/confirm-on-exit.guard'; | ||
26 | -import {ActionAuthUpdateUserDetails} from '@core/auth/auth.actions'; | ||
27 | -import {environment as env} from '@env/environment'; | ||
28 | -import {TranslateService} from '@ngx-translate/core'; | ||
29 | -import {ActionSettingsChangeLanguage} from '@core/settings/settings.actions'; | ||
30 | -import {ChangePasswordDialogComponent} from '@modules/home/pages/profile/change-password-dialog.component'; | 17 | +import { Component, OnInit } from '@angular/core'; |
18 | +import { UserService } from '@core/http/user.service'; | ||
19 | +import { User } from '@shared/models/user.model'; | ||
20 | +import { Authority } from '@shared/models/authority.enum'; | ||
21 | +import { PageComponent } from '@shared/components/page.component'; | ||
22 | +import { Store } from '@ngrx/store'; | ||
23 | +import { AppState } from '@core/core.state'; | ||
24 | +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; | ||
25 | +import { HasConfirmForm } from '@core/guards/confirm-on-exit.guard'; | ||
26 | +import { ActionAuthUpdateUserDetails } from '@core/auth/auth.actions'; | ||
27 | +import { environment as env } from '@env/environment'; | ||
28 | +import { TranslateService } from '@ngx-translate/core'; | ||
29 | +import { ActionSettingsChangeLanguage } from '@core/settings/settings.actions'; | ||
30 | +import { ChangePasswordDialogComponent } from '@modules/home/pages/profile/change-password-dialog.component'; | ||
31 | import { MatDialog } from '@angular/material/dialog'; | 31 | import { MatDialog } from '@angular/material/dialog'; |
32 | -import {DialogService} from '@core/services/dialog.service'; | ||
33 | -import {AuthService} from '@core/auth/auth.service'; | ||
34 | -import {ActivatedRoute} from '@angular/router'; | 32 | +import { DialogService } from '@core/services/dialog.service'; |
33 | +import { AuthService } from '@core/auth/auth.service'; | ||
34 | +import { ActivatedRoute } from '@angular/router'; | ||
35 | 35 | ||
36 | @Component({ | 36 | @Component({ |
37 | selector: 'tb-profile', | 37 | selector: 'tb-profile', |
@@ -14,17 +14,14 @@ | @@ -14,17 +14,14 @@ | ||
14 | /// limitations under the License. | 14 | /// limitations under the License. |
15 | /// | 15 | /// |
16 | 16 | ||
17 | -import {Component} from '@angular/core'; | ||
18 | -import {Store} from '@ngrx/store'; | ||
19 | -import {AppState} from '@core/core.state'; | ||
20 | -import {EntityComponent} from '../../components/entity/entity.component'; | ||
21 | -import {FormBuilder, FormGroup, Validators} from '@angular/forms'; | ||
22 | -import {EntityType} from '@shared/models/entity-type.models'; | ||
23 | -import {NULL_UUID} from '@shared/models/id/has-uuid'; | ||
24 | -import {ActionNotificationShow} from '@core/notification/notification.actions'; | ||
25 | -import {TranslateService} from '@ngx-translate/core'; | ||
26 | -import {AssetInfo} from '@app/shared/models/asset.models'; | ||
27 | -import {RuleChain} from '@shared/models/rule-chain.models'; | 17 | +import { Component } from '@angular/core'; |
18 | +import { Store } from '@ngrx/store'; | ||
19 | +import { AppState } from '@core/core.state'; | ||
20 | +import { EntityComponent } from '../../components/entity/entity.component'; | ||
21 | +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; | ||
22 | +import { ActionNotificationShow } from '@core/notification/notification.actions'; | ||
23 | +import { TranslateService } from '@ngx-translate/core'; | ||
24 | +import { RuleChain } from '@shared/models/rule-chain.models'; | ||
28 | 25 | ||
29 | @Component({ | 26 | @Component({ |
30 | selector: 'tb-rulechain', | 27 | selector: 'tb-rulechain', |
@@ -14,14 +14,18 @@ | @@ -14,14 +14,18 @@ | ||
14 | /// limitations under the License. | 14 | /// limitations under the License. |
15 | /// | 15 | /// |
16 | 16 | ||
17 | -import {NgModule} from '@angular/core'; | ||
18 | -import {CommonModule} from '@angular/common'; | ||
19 | -import {SharedModule} from '@shared/shared.module'; | ||
20 | -import {RuleChainComponent} from '@modules/home/pages/rulechain/rulechain.component'; | ||
21 | -import {RuleChainRoutingModule} from '@modules/home/pages/rulechain/rulechain-routing.module'; | ||
22 | -import {HomeComponentsModule} from '@modules/home/components/home-components.module'; | 17 | +import { NgModule } from '@angular/core'; |
18 | +import { CommonModule } from '@angular/common'; | ||
19 | +import { SharedModule } from '@shared/shared.module'; | ||
20 | +import { RuleChainComponent } from '@modules/home/pages/rulechain/rulechain.component'; | ||
21 | +import { RuleChainRoutingModule } from '@modules/home/pages/rulechain/rulechain-routing.module'; | ||
22 | +import { HomeComponentsModule } from '@modules/home/components/home-components.module'; | ||
23 | import { RuleChainTabsComponent } from '@home/pages/rulechain/rulechain-tabs.component'; | 23 | import { RuleChainTabsComponent } from '@home/pages/rulechain/rulechain-tabs.component'; |
24 | -import { RuleChainPageComponent, AddRuleNodeLinkDialogComponent, AddRuleNodeDialogComponent } from './rulechain-page.component'; | 24 | +import { |
25 | + AddRuleNodeDialogComponent, | ||
26 | + AddRuleNodeLinkDialogComponent, | ||
27 | + RuleChainPageComponent | ||
28 | +} from './rulechain-page.component'; | ||
25 | import { RuleNodeComponent } from '@home/pages/rulechain/rulenode.component'; | 29 | import { RuleNodeComponent } from '@home/pages/rulechain/rulenode.component'; |
26 | import { FC_NODE_COMPONENT_CONFIG } from 'ngx-flowchart/dist/ngx-flowchart'; | 30 | import { FC_NODE_COMPONENT_CONFIG } from 'ngx-flowchart/dist/ngx-flowchart'; |
27 | import { RuleNodeDetailsComponent } from './rule-node-details.component'; | 31 | import { RuleNodeDetailsComponent } from './rule-node-details.component'; |
@@ -14,23 +14,23 @@ | @@ -14,23 +14,23 @@ | ||
14 | /// limitations under the License. | 14 | /// limitations under the License. |
15 | /// | 15 | /// |
16 | 16 | ||
17 | -import {Injectable} from '@angular/core'; | 17 | +import { Injectable } from '@angular/core'; |
18 | 18 | ||
19 | -import {Resolve, Router} from '@angular/router'; | 19 | +import { Resolve, Router } from '@angular/router'; |
20 | import { | 20 | import { |
21 | checkBoxCell, | 21 | checkBoxCell, |
22 | DateEntityTableColumn, | 22 | DateEntityTableColumn, |
23 | EntityTableColumn, | 23 | EntityTableColumn, |
24 | EntityTableConfig | 24 | EntityTableConfig |
25 | } from '@home/models/entity/entities-table-config.models'; | 25 | } from '@home/models/entity/entities-table-config.models'; |
26 | -import {TranslateService} from '@ngx-translate/core'; | ||
27 | -import {DatePipe} from '@angular/common'; | ||
28 | -import {EntityType, entityTypeResources, entityTypeTranslations} from '@shared/models/entity-type.models'; | ||
29 | -import {EntityAction} from '@home/models/entity/entity-component.models'; | ||
30 | -import {RuleChain} from '@shared/models/rule-chain.models'; | ||
31 | -import {RuleChainService} from '@core/http/rule-chain.service'; | ||
32 | -import {RuleChainComponent} from '@modules/home/pages/rulechain/rulechain.component'; | ||
33 | -import {DialogService} from '@core/services/dialog.service'; | 26 | +import { TranslateService } from '@ngx-translate/core'; |
27 | +import { DatePipe } from '@angular/common'; | ||
28 | +import { EntityType, entityTypeResources, entityTypeTranslations } from '@shared/models/entity-type.models'; | ||
29 | +import { EntityAction } from '@home/models/entity/entity-component.models'; | ||
30 | +import { RuleChain } from '@shared/models/rule-chain.models'; | ||
31 | +import { RuleChainService } from '@core/http/rule-chain.service'; | ||
32 | +import { RuleChainComponent } from '@modules/home/pages/rulechain/rulechain.component'; | ||
33 | +import { DialogService } from '@core/services/dialog.service'; | ||
34 | import { RuleChainTabsComponent } from '@home/pages/rulechain/rulechain-tabs.component'; | 34 | import { RuleChainTabsComponent } from '@home/pages/rulechain/rulechain-tabs.component'; |
35 | import { ImportExportService } from '@home/components/import-export/import-export.service'; | 35 | import { ImportExportService } from '@home/components/import-export/import-export.service'; |
36 | import { ItemBufferService } from '@core/services/item-buffer.service'; | 36 | import { ItemBufferService } from '@core/services/item-buffer.service'; |
@@ -55,7 +55,7 @@ export class RuleChainsTableConfigResolver implements Resolve<EntityTableConfig< | @@ -55,7 +55,7 @@ export class RuleChainsTableConfigResolver implements Resolve<EntityTableConfig< | ||
55 | this.config.entityResources = entityTypeResources.get(EntityType.RULE_CHAIN); | 55 | this.config.entityResources = entityTypeResources.get(EntityType.RULE_CHAIN); |
56 | 56 | ||
57 | this.config.columns.push( | 57 | this.config.columns.push( |
58 | - new DateEntityTableColumn<RuleChain>('createdTime', 'rulechain.created-time', this.datePipe, '150px'), | 58 | + new DateEntityTableColumn<RuleChain>('createdTime', 'common.created-time', this.datePipe, '150px'), |
59 | new EntityTableColumn<RuleChain>('name', 'rulechain.name', '100%'), | 59 | new EntityTableColumn<RuleChain>('name', 'rulechain.name', '100%'), |
60 | new EntityTableColumn<RuleChain>('root', 'rulechain.root', '60px', | 60 | new EntityTableColumn<RuleChain>('root', 'rulechain.root', '60px', |
61 | entity => { | 61 | entity => { |
@@ -14,21 +14,13 @@ | @@ -14,21 +14,13 @@ | ||
14 | /// limitations under the License. | 14 | /// limitations under the License. |
15 | /// | 15 | /// |
16 | 16 | ||
17 | -import { Injectable, NgModule } from '@angular/core'; | ||
18 | -import { Resolve, RouterModule, Routes } from '@angular/router'; | 17 | +import { NgModule } from '@angular/core'; |
18 | +import { RouterModule, Routes } from '@angular/router'; | ||
19 | 19 | ||
20 | import { EntitiesTableComponent } from '../../components/entity/entities-table.component'; | 20 | import { EntitiesTableComponent } from '../../components/entity/entities-table.component'; |
21 | import { Authority } from '@shared/models/authority.enum'; | 21 | import { Authority } from '@shared/models/authority.enum'; |
22 | import { TenantsTableConfigResolver } from '@modules/home/pages/tenant/tenants-table-config.resolver'; | 22 | import { TenantsTableConfigResolver } from '@modules/home/pages/tenant/tenants-table-config.resolver'; |
23 | -import { ProfileComponent } from '@modules/home/pages/profile/profile.component'; | ||
24 | -import { ConfirmOnExitGuard } from '@core/guards/confirm-on-exit.guard'; | ||
25 | -import { Customer } from '@shared/models/customer.model'; | ||
26 | -import { Store } from '@ngrx/store'; | ||
27 | -import { AppState } from '@core/core.state'; | ||
28 | -import { forkJoin, Observable, throwError } from 'rxjs'; | ||
29 | -import { getCurrentAuthUser } from '@core/auth/auth.selectors'; | ||
30 | -import { catchError, finalize, map, tap } from 'rxjs/operators'; | ||
31 | -import {UsersTableConfigResolver} from '../user/users-table-config.resolver'; | 23 | +import { UsersTableConfigResolver } from '../user/users-table-config.resolver'; |
32 | 24 | ||
33 | const routes: Routes = [ | 25 | const routes: Routes = [ |
34 | { | 26 | { |
@@ -54,7 +54,7 @@ export class TenantsTableConfigResolver implements Resolve<EntityTableConfig<Ten | @@ -54,7 +54,7 @@ export class TenantsTableConfigResolver implements Resolve<EntityTableConfig<Ten | ||
54 | this.config.entityResources = entityTypeResources.get(EntityType.TENANT); | 54 | this.config.entityResources = entityTypeResources.get(EntityType.TENANT); |
55 | 55 | ||
56 | this.config.columns.push( | 56 | this.config.columns.push( |
57 | - new DateEntityTableColumn<Tenant>('createdTime', 'tenant.created-time', this.datePipe, '150px'), | 57 | + new DateEntityTableColumn<Tenant>('createdTime', 'common.created-time', this.datePipe, '150px'), |
58 | new EntityTableColumn<Tenant>('title', 'tenant.title', '25%'), | 58 | new EntityTableColumn<Tenant>('title', 'tenant.title', '25%'), |
59 | new EntityTableColumn<Tenant>('email', 'contact.email', '25%'), | 59 | new EntityTableColumn<Tenant>('email', 'contact.email', '25%'), |
60 | new EntityTableColumn<Tenant>('country', 'contact.country', '25%'), | 60 | new EntityTableColumn<Tenant>('country', 'contact.country', '25%'), |
@@ -15,7 +15,7 @@ | @@ -15,7 +15,7 @@ | ||
15 | /// | 15 | /// |
16 | 16 | ||
17 | import { NgModule } from '@angular/core'; | 17 | import { NgModule } from '@angular/core'; |
18 | -import { RouterModule, Routes } from '@angular/router'; | 18 | +import { RouterModule } from '@angular/router'; |
19 | import { UsersTableConfigResolver } from '@modules/home/pages/user/users-table-config.resolver'; | 19 | import { UsersTableConfigResolver } from '@modules/home/pages/user/users-table-config.resolver'; |
20 | 20 | ||
21 | @NgModule({ | 21 | @NgModule({ |
@@ -24,25 +24,18 @@ import { | @@ -24,25 +24,18 @@ import { | ||
24 | } from '@home/models/entity/entities-table-config.models'; | 24 | } from '@home/models/entity/entities-table-config.models'; |
25 | import { TranslateService } from '@ngx-translate/core'; | 25 | import { TranslateService } from '@ngx-translate/core'; |
26 | import { DatePipe } from '@angular/common'; | 26 | import { DatePipe } from '@angular/common'; |
27 | -import { | ||
28 | - EntityType, | ||
29 | - entityTypeResources, | ||
30 | - entityTypeTranslations | ||
31 | -} from '@shared/models/entity-type.models'; | 27 | +import { EntityType, entityTypeResources, entityTypeTranslations } from '@shared/models/entity-type.models'; |
32 | import { User } from '@shared/models/user.model'; | 28 | import { User } from '@shared/models/user.model'; |
33 | import { UserService } from '@core/http/user.service'; | 29 | import { UserService } from '@core/http/user.service'; |
34 | import { UserComponent } from '@modules/home/pages/user/user.component'; | 30 | import { UserComponent } from '@modules/home/pages/user/user.component'; |
35 | import { CustomerService } from '@core/http/customer.service'; | 31 | import { CustomerService } from '@core/http/customer.service'; |
36 | import { map, mergeMap, take, tap } from 'rxjs/operators'; | 32 | import { map, mergeMap, take, tap } from 'rxjs/operators'; |
37 | -import { forkJoin, noop, Observable, of } from 'rxjs'; | 33 | +import { Observable } from 'rxjs'; |
38 | import { Authority } from '@shared/models/authority.enum'; | 34 | import { Authority } from '@shared/models/authority.enum'; |
39 | import { CustomerId } from '@shared/models/id/customer-id'; | 35 | import { CustomerId } from '@shared/models/id/customer-id'; |
40 | import { MatDialog } from '@angular/material/dialog'; | 36 | import { MatDialog } from '@angular/material/dialog'; |
41 | import { EntityAction } from '@home/models/entity/entity-component.models'; | 37 | import { EntityAction } from '@home/models/entity/entity-component.models'; |
42 | -import { | ||
43 | - AddUserDialogComponent, | ||
44 | - AddUserDialogData | ||
45 | -} from '@modules/home/pages/user/add-user-dialog.component'; | 38 | +import { AddUserDialogComponent, AddUserDialogData } from '@modules/home/pages/user/add-user-dialog.component'; |
46 | import { AuthState } from '@core/auth/auth.models'; | 39 | import { AuthState } from '@core/auth/auth.models'; |
47 | import { select, Store } from '@ngrx/store'; | 40 | import { select, Store } from '@ngrx/store'; |
48 | import { AppState } from '@core/core.state'; | 41 | import { AppState } from '@core/core.state'; |
@@ -54,9 +47,8 @@ import { | @@ -54,9 +47,8 @@ import { | ||
54 | } from '@modules/home/pages/user/activation-link-dialog.component'; | 47 | } from '@modules/home/pages/user/activation-link-dialog.component'; |
55 | import { ActionNotificationShow } from '@core/notification/notification.actions'; | 48 | import { ActionNotificationShow } from '@core/notification/notification.actions'; |
56 | import { NULL_UUID } from '@shared/models/id/has-uuid'; | 49 | import { NULL_UUID } from '@shared/models/id/has-uuid'; |
57 | -import { Customer } from '@shared/models/customer.model'; | ||
58 | -import {TenantService} from '@app/core/http/tenant.service'; | ||
59 | -import {TenantId} from '@app/shared/models/id/tenant-id'; | 50 | +import { TenantService } from '@app/core/http/tenant.service'; |
51 | +import { TenantId } from '@app/shared/models/id/tenant-id'; | ||
60 | import { UserTabsComponent } from '@home/pages/user/user-tabs.component'; | 52 | import { UserTabsComponent } from '@home/pages/user/user-tabs.component'; |
61 | 53 | ||
62 | export interface UsersTableRouteData { | 54 | export interface UsersTableRouteData { |
@@ -89,7 +81,7 @@ export class UsersTableConfigResolver implements Resolve<EntityTableConfig<User> | @@ -89,7 +81,7 @@ export class UsersTableConfigResolver implements Resolve<EntityTableConfig<User> | ||
89 | this.config.entityResources = entityTypeResources.get(EntityType.USER); | 81 | this.config.entityResources = entityTypeResources.get(EntityType.USER); |
90 | 82 | ||
91 | this.config.columns.push( | 83 | this.config.columns.push( |
92 | - new DateEntityTableColumn<User>('createdTime', 'user.created-time', this.datePipe, '150px'), | 84 | + new DateEntityTableColumn<User>('createdTime', 'common.created-time', this.datePipe, '150px'), |
93 | new EntityTableColumn<User>('firstName', 'user.first-name', '33%'), | 85 | new EntityTableColumn<User>('firstName', 'user.first-name', '33%'), |
94 | new EntityTableColumn<User>('lastName', 'user.last-name', '33%'), | 86 | new EntityTableColumn<User>('lastName', 'user.last-name', '33%'), |
95 | new EntityTableColumn<User>('email', 'user.email', '33%') | 87 | new EntityTableColumn<User>('email', 'user.email', '33%') |
@@ -14,28 +14,28 @@ | @@ -14,28 +14,28 @@ | ||
14 | /// limitations under the License. | 14 | /// limitations under the License. |
15 | /// | 15 | /// |
16 | 16 | ||
17 | -import {Injectable} from '@angular/core'; | 17 | +import { Injectable } from '@angular/core'; |
18 | 18 | ||
19 | -import {Resolve, Router} from '@angular/router'; | 19 | +import { Resolve, Router } from '@angular/router'; |
20 | import { | 20 | import { |
21 | checkBoxCell, | 21 | checkBoxCell, |
22 | DateEntityTableColumn, | 22 | DateEntityTableColumn, |
23 | EntityTableColumn, | 23 | EntityTableColumn, |
24 | EntityTableConfig | 24 | EntityTableConfig |
25 | } from '@home/models/entity/entities-table-config.models'; | 25 | } from '@home/models/entity/entities-table-config.models'; |
26 | -import {TranslateService} from '@ngx-translate/core'; | ||
27 | -import {DatePipe} from '@angular/common'; | ||
28 | -import {EntityType, entityTypeResources, entityTypeTranslations} from '@shared/models/entity-type.models'; | ||
29 | -import {EntityAction} from '@home/models/entity/entity-component.models'; | ||
30 | -import {WidgetsBundle} from '@shared/models/widgets-bundle.model'; | ||
31 | -import {WidgetService} from '@app/core/http/widget.service'; | ||
32 | -import {WidgetsBundleComponent} from '@modules/home/pages/widget/widgets-bundle.component'; | ||
33 | -import {NULL_UUID} from '@shared/models/id/has-uuid'; | ||
34 | -import {Store} from '@ngrx/store'; | ||
35 | -import {AppState} from '@core/core.state'; | ||
36 | -import {getCurrentAuthUser} from '@app/core/auth/auth.selectors'; | ||
37 | -import {Authority} from '@shared/models/authority.enum'; | ||
38 | -import {DialogService} from '@core/services/dialog.service'; | 26 | +import { TranslateService } from '@ngx-translate/core'; |
27 | +import { DatePipe } from '@angular/common'; | ||
28 | +import { EntityType, entityTypeResources, entityTypeTranslations } from '@shared/models/entity-type.models'; | ||
29 | +import { EntityAction } from '@home/models/entity/entity-component.models'; | ||
30 | +import { WidgetsBundle } from '@shared/models/widgets-bundle.model'; | ||
31 | +import { WidgetService } from '@app/core/http/widget.service'; | ||
32 | +import { WidgetsBundleComponent } from '@modules/home/pages/widget/widgets-bundle.component'; | ||
33 | +import { NULL_UUID } from '@shared/models/id/has-uuid'; | ||
34 | +import { Store } from '@ngrx/store'; | ||
35 | +import { AppState } from '@core/core.state'; | ||
36 | +import { getCurrentAuthUser } from '@app/core/auth/auth.selectors'; | ||
37 | +import { Authority } from '@shared/models/authority.enum'; | ||
38 | +import { DialogService } from '@core/services/dialog.service'; | ||
39 | import { ImportExportService } from '@home/components/import-export/import-export.service'; | 39 | import { ImportExportService } from '@home/components/import-export/import-export.service'; |
40 | 40 | ||
41 | @Injectable() | 41 | @Injectable() |
@@ -57,7 +57,7 @@ export class WidgetsBundlesTableConfigResolver implements Resolve<EntityTableCon | @@ -57,7 +57,7 @@ export class WidgetsBundlesTableConfigResolver implements Resolve<EntityTableCon | ||
57 | this.config.entityResources = entityTypeResources.get(EntityType.WIDGETS_BUNDLE); | 57 | this.config.entityResources = entityTypeResources.get(EntityType.WIDGETS_BUNDLE); |
58 | 58 | ||
59 | this.config.columns.push( | 59 | this.config.columns.push( |
60 | - new DateEntityTableColumn<WidgetsBundle>('createdTime', 'widgets-bundle.created-time', this.datePipe, '150px'), | 60 | + new DateEntityTableColumn<WidgetsBundle>('createdTime', 'common.created-time', this.datePipe, '150px'), |
61 | new EntityTableColumn<WidgetsBundle>('title', 'widgets-bundle.title', '100%'), | 61 | new EntityTableColumn<WidgetsBundle>('title', 'widgets-bundle.title', '100%'), |
62 | new EntityTableColumn<WidgetsBundle>('tenantId', 'widgets-bundle.system', '60px', | 62 | new EntityTableColumn<WidgetsBundle>('tenantId', 'widgets-bundle.system', '60px', |
63 | entity => { | 63 | entity => { |
@@ -19,7 +19,7 @@ | @@ -19,7 +19,7 @@ | ||
19 | <h1 fxFlex fxHide.gt-sm *ngIf="lastBreadcrumb$ | async; let breadcrumb"> | 19 | <h1 fxFlex fxHide.gt-sm *ngIf="lastBreadcrumb$ | async; let breadcrumb"> |
20 | {{ breadcrumb.ignoreTranslate ? (breadcrumb.labelFunction ? breadcrumb.labelFunction() : breadcrumb.label) : (breadcrumb.label | translate) }} | 20 | {{ breadcrumb.ignoreTranslate ? (breadcrumb.labelFunction ? breadcrumb.labelFunction() : breadcrumb.label) : (breadcrumb.label | translate) }} |
21 | </h1> | 21 | </h1> |
22 | - <span fxHide.xs fxHide.sm *ngFor="let breadcrumb of breadcrumbs$ | async; last as isLast;" [ngSwitch]="isLast"> | 22 | + <span fxHide.lt-md fxLayout="row" *ngFor="let breadcrumb of breadcrumbs$ | async; last as isLast;" [ngSwitch]="isLast"> |
23 | <a *ngSwitchCase="false" [routerLink]="breadcrumb.link" [queryParams]="breadcrumb.queryParams"> | 23 | <a *ngSwitchCase="false" [routerLink]="breadcrumb.link" [queryParams]="breadcrumb.queryParams"> |
24 | <mat-icon *ngIf="breadcrumb.isMdiIcon" [svgIcon]="breadcrumb.icon"> | 24 | <mat-icon *ngIf="breadcrumb.isMdiIcon" [svgIcon]="breadcrumb.icon"> |
25 | </mat-icon> | 25 | </mat-icon> |
@@ -14,28 +14,24 @@ | @@ -14,28 +14,24 @@ | ||
14 | * limitations under the License. | 14 | * limitations under the License. |
15 | */ | 15 | */ |
16 | :host { | 16 | :host { |
17 | - display: flex; | ||
18 | - flex-direction: row; | ||
19 | - align-items: center; | ||
20 | min-width: 0; | 17 | min-width: 0; |
21 | - flex: 1; | ||
22 | 18 | ||
23 | .tb-breadcrumb { | 19 | .tb-breadcrumb { |
24 | - font-size: 18px !important; | ||
25 | - font-weight: 400 !important; | 20 | + font-size: 18px; |
21 | + font-weight: 400; | ||
26 | overflow: hidden; | 22 | overflow: hidden; |
27 | 23 | ||
28 | h1, | 24 | h1, |
29 | a, | 25 | a, |
30 | - span { | 26 | + span:not(.divider) { |
31 | overflow: hidden; | 27 | overflow: hidden; |
32 | text-overflow: ellipsis; | 28 | text-overflow: ellipsis; |
33 | white-space: nowrap; | 29 | white-space: nowrap; |
34 | } | 30 | } |
35 | 31 | ||
36 | h1 { | 32 | h1 { |
37 | - font-size: 24px !important; | ||
38 | - font-weight: 400 !important; | 33 | + font-size: 24px; |
34 | + font-weight: 400; | ||
39 | } | 35 | } |
40 | 36 | ||
41 | a { | 37 | a { |
@@ -44,6 +40,7 @@ | @@ -44,6 +40,7 @@ | ||
44 | transition: opacity .35s; | 40 | transition: opacity .35s; |
45 | color: inherit; | 41 | color: inherit; |
46 | text-decoration: none; | 42 | text-decoration: none; |
43 | + outline: none; | ||
47 | } | 44 | } |
48 | 45 | ||
49 | a:hover, | 46 | a:hover, |
@@ -54,7 +51,7 @@ | @@ -54,7 +51,7 @@ | ||
54 | } | 51 | } |
55 | 52 | ||
56 | .divider { | 53 | .divider { |
57 | - padding: 0 30px; | 54 | + padding: 0 20px; |
58 | } | 55 | } |
59 | } | 56 | } |
60 | } | 57 | } |
@@ -16,7 +16,7 @@ | @@ -16,7 +16,7 @@ | ||
16 | 16 | ||
17 | --> | 17 | --> |
18 | <section fxLayout="row"> | 18 | <section fxLayout="row"> |
19 | - <div fxHide.xs fxHide.sm fxHide.md *ngIf="displayUserInfo" class="tb-user-info" fxLayout="row"> | 19 | + <div fxHide.lt-lg *ngIf="displayUserInfo" class="tb-user-info" fxLayout="row"> |
20 | <mat-icon class="material-icons tb-mini-avatar">account_circle</mat-icon> | 20 | <mat-icon class="material-icons tb-mini-avatar">account_circle</mat-icon> |
21 | <div fxLayout="column" fxLayoutAlign="center"> | 21 | <div fxLayout="column" fxLayoutAlign="center"> |
22 | <span *ngIf="userDisplayName$ | async; let userDisplayName" class="tb-user-display-name">{{ userDisplayName }}</span> | 22 | <span *ngIf="userDisplayName$ | async; let userDisplayName" class="tb-user-display-name">{{ userDisplayName }}</span> |
@@ -18,7 +18,6 @@ | @@ -18,7 +18,6 @@ | ||
18 | line-height: 1.5; | 18 | line-height: 1.5; |
19 | 19 | ||
20 | span { | 20 | span { |
21 | - text-align: left; | ||
22 | text-transform: none; | 21 | text-transform: none; |
23 | } | 22 | } |
24 | 23 | ||
@@ -42,6 +41,7 @@ | @@ -42,6 +41,7 @@ | ||
42 | height: 36px; | 41 | height: 36px; |
43 | margin: auto 8px; | 42 | margin: auto 8px; |
44 | font-size: 36px; | 43 | font-size: 36px; |
44 | + cursor: default; | ||
45 | } | 45 | } |
46 | } | 46 | } |
47 | 47 |
@@ -336,7 +336,8 @@ | @@ -336,7 +336,8 @@ | ||
336 | "password": "Heslo", | 336 | "password": "Heslo", |
337 | "enter-username": "Zadejte uživatelské jméno", | 337 | "enter-username": "Zadejte uživatelské jméno", |
338 | "enter-password": "Zadejte heslo", | 338 | "enter-password": "Zadejte heslo", |
339 | - "enter-search": "Zadejte hledaný řetězec" | 339 | + "enter-search": "Zadejte hledaný řetězec", |
340 | + "created-time": "Datum vytvoření" | ||
340 | }, | 341 | }, |
341 | "content-type": { | 342 | "content-type": { |
342 | "json": "JSON", | 343 | "json": "JSON", |
@@ -360,7 +360,8 @@ | @@ -360,7 +360,8 @@ | ||
360 | "password": "Passwort", | 360 | "password": "Passwort", |
361 | "enter-username": "Benutzername eingeben", | 361 | "enter-username": "Benutzername eingeben", |
362 | "enter-password": "Passwort eingeben", | 362 | "enter-password": "Passwort eingeben", |
363 | - "enter-search": "Suche eingeben" | 363 | + "enter-search": "Suche eingeben", |
364 | + "created-time": "Erstellungszeit" | ||
364 | }, | 365 | }, |
365 | "content-type": { | 366 | "content-type": { |
366 | "json": "Json", | 367 | "json": "Json", |
@@ -378,7 +378,8 @@ | @@ -378,7 +378,8 @@ | ||
378 | "password": "Κωδικός πρόσβασης", | 378 | "password": "Κωδικός πρόσβασης", |
379 | "enter-username": "Εισάγετε Όνομα χρήστη", | 379 | "enter-username": "Εισάγετε Όνομα χρήστη", |
380 | "enter-password": "Εισάγετε Κωδικό πρόσβασης", | 380 | "enter-password": "Εισάγετε Κωδικό πρόσβασης", |
381 | - "enter-search": "Αναζήτηση" | 381 | + "enter-search": "Αναζήτηση", |
382 | + "created-time": "Δημιουργήθηκε" | ||
382 | }, | 383 | }, |
383 | "converter": { | 384 | "converter": { |
384 | "converter": "Μετατροπέας δεδομένων", | 385 | "converter": "Μετατροπέας δεδομένων", |
@@ -380,7 +380,8 @@ | @@ -380,7 +380,8 @@ | ||
380 | "password": "Password", | 380 | "password": "Password", |
381 | "enter-username": "Enter username", | 381 | "enter-username": "Enter username", |
382 | "enter-password": "Enter password", | 382 | "enter-password": "Enter password", |
383 | - "enter-search": "Enter search" | 383 | + "enter-search": "Enter search", |
384 | + "created-time": "Created time" | ||
384 | }, | 385 | }, |
385 | "content-type": { | 386 | "content-type": { |
386 | "json": "Json", | 387 | "json": "Json", |
@@ -421,7 +422,6 @@ | @@ -421,7 +422,6 @@ | ||
421 | "manage-assets": "Manage assets", | 422 | "manage-assets": "Manage assets", |
422 | "manage-devices": "Manage devices", | 423 | "manage-devices": "Manage devices", |
423 | "manage-dashboards": "Manage dashboards", | 424 | "manage-dashboards": "Manage dashboards", |
424 | - "created-time": "Created time", | ||
425 | "title": "Title", | 425 | "title": "Title", |
426 | "title-required": "Title is required.", | 426 | "title-required": "Title is required.", |
427 | "description": "Description", | 427 | "description": "Description", |
@@ -466,7 +466,6 @@ | @@ -466,7 +466,6 @@ | ||
466 | "no-dashboards-text": "No dashboards found", | 466 | "no-dashboards-text": "No dashboards found", |
467 | "no-widgets": "No widgets configured", | 467 | "no-widgets": "No widgets configured", |
468 | "add-widget": "Add new widget", | 468 | "add-widget": "Add new widget", |
469 | - "created-time": "Created time", | ||
470 | "title": "Title", | 469 | "title": "Title", |
471 | "select-widget-title": "Select widget", | 470 | "select-widget-title": "Select widget", |
472 | "select-widget-subtitle": "List of available widget types", | 471 | "select-widget-subtitle": "List of available widget types", |
@@ -709,7 +708,6 @@ | @@ -709,7 +708,6 @@ | ||
709 | "no-device-types-matching": "No device types matching '{{entitySubtype}}' were found.", | 708 | "no-device-types-matching": "No device types matching '{{entitySubtype}}' were found.", |
710 | "device-type-list-empty": "No device types selected.", | 709 | "device-type-list-empty": "No device types selected.", |
711 | "device-types": "Device types", | 710 | "device-types": "Device types", |
712 | - "created-time": "Created time", | ||
713 | "name": "Name", | 711 | "name": "Name", |
714 | "name-required": "Name is required.", | 712 | "name-required": "Name is required.", |
715 | "description": "Description", | 713 | "description": "Description", |
@@ -1416,7 +1414,6 @@ | @@ -1416,7 +1414,6 @@ | ||
1416 | "rulechains": "Rule chains", | 1414 | "rulechains": "Rule chains", |
1417 | "root": "Root", | 1415 | "root": "Root", |
1418 | "delete": "Delete rule chain", | 1416 | "delete": "Delete rule chain", |
1419 | - "created-time": "Created time", | ||
1420 | "name": "Name", | 1417 | "name": "Name", |
1421 | "name-required": "Name is required.", | 1418 | "name-required": "Name is required.", |
1422 | "description": "Description", | 1419 | "description": "Description", |
@@ -1532,7 +1529,6 @@ | @@ -1532,7 +1529,6 @@ | ||
1532 | "delete-tenants-title": "Are you sure you want to delete { count, plural, 1 {1 tenant} other {# tenants} }?", | 1529 | "delete-tenants-title": "Are you sure you want to delete { count, plural, 1 {1 tenant} other {# tenants} }?", |
1533 | "delete-tenants-action-title": "Delete { count, plural, 1 {1 tenant} other {# tenants} }", | 1530 | "delete-tenants-action-title": "Delete { count, plural, 1 {1 tenant} other {# tenants} }", |
1534 | "delete-tenants-text": "Be careful, after the confirmation all selected tenants will be removed and all related data will become unrecoverable.", | 1531 | "delete-tenants-text": "Be careful, after the confirmation all selected tenants will be removed and all related data will become unrecoverable.", |
1535 | - "created-time": "Created time", | ||
1536 | "title": "Title", | 1532 | "title": "Title", |
1537 | "title-required": "Title is required.", | 1533 | "title-required": "Title is required.", |
1538 | "description": "Description", | 1534 | "description": "Description", |
@@ -1593,7 +1589,6 @@ | @@ -1593,7 +1589,6 @@ | ||
1593 | "delete-users-text": "Be careful, after the confirmation all selected users will be removed and all related data will become unrecoverable.", | 1589 | "delete-users-text": "Be careful, after the confirmation all selected users will be removed and all related data will become unrecoverable.", |
1594 | "activation-email-sent-message": "Activation email was successfully sent!", | 1590 | "activation-email-sent-message": "Activation email was successfully sent!", |
1595 | "resend-activation": "Resend activation", | 1591 | "resend-activation": "Resend activation", |
1596 | - "created-time": "Created time", | ||
1597 | "email": "Email", | 1592 | "email": "Email", |
1598 | "email-required": "Email is required.", | 1593 | "email-required": "Email is required.", |
1599 | "invalid-email-format": "Invalid email format.", | 1594 | "invalid-email-format": "Invalid email format.", |
@@ -1715,7 +1710,6 @@ | @@ -1715,7 +1710,6 @@ | ||
1715 | "widgets-bundles": "Widgets Bundles", | 1710 | "widgets-bundles": "Widgets Bundles", |
1716 | "add": "Add Widgets Bundle", | 1711 | "add": "Add Widgets Bundle", |
1717 | "delete": "Delete widgets bundle", | 1712 | "delete": "Delete widgets bundle", |
1718 | - "created-time": "Created time", | ||
1719 | "title": "Title", | 1713 | "title": "Title", |
1720 | "title-required": "Title is required.", | 1714 | "title-required": "Title is required.", |
1721 | "add-widgets-bundle-text": "Add new widgets bundle", | 1715 | "add-widgets-bundle-text": "Add new widgets bundle", |
@@ -364,7 +364,8 @@ | @@ -364,7 +364,8 @@ | ||
364 | "password": "Contraseña", | 364 | "password": "Contraseña", |
365 | "enter-username": "Introduzca nombre de usuario", | 365 | "enter-username": "Introduzca nombre de usuario", |
366 | "enter-password": "Introduzca contraseña", | 366 | "enter-password": "Introduzca contraseña", |
367 | - "enter-search": "Introduzca búsqueda" | 367 | + "enter-search": "Introduzca búsqueda", |
368 | + "created-time": "Tiempo de creación" | ||
368 | }, | 369 | }, |
369 | "content-type": { | 370 | "content-type": { |
370 | "json": "Json", | 371 | "json": "Json", |
@@ -48,7 +48,7 @@ | @@ -48,7 +48,7 @@ | ||
48 | "paste-reference": "رونوشت مرجع", | 48 | "paste-reference": "رونوشت مرجع", |
49 | "import": "وارد کردن", | 49 | "import": "وارد کردن", |
50 | "export": "صدور", | 50 | "export": "صدور", |
51 | - "share-via": "{{provider}} اشتراک گذاري از طريق" | 51 | + "share-via": "{{provider}} اشتراک گذاري از طريق" |
52 | }, | 52 | }, |
53 | "aggregation": { | 53 | "aggregation": { |
54 | "aggregation": "تجميع", | 54 | "aggregation": "تجميع", |
@@ -336,7 +336,8 @@ | @@ -336,7 +336,8 @@ | ||
336 | "password": "رمز عبور", | 336 | "password": "رمز عبور", |
337 | "enter-username": "وارد کردن نام کاربري", | 337 | "enter-username": "وارد کردن نام کاربري", |
338 | "enter-password": "وارد کردن رمز عبور", | 338 | "enter-password": "وارد کردن رمز عبور", |
339 | - "enter-search": "وارد کردن جستجو" | 339 | + "enter-search": "وارد کردن جستجو", |
340 | + "created-time": "زمان ايجاد" | ||
340 | }, | 341 | }, |
341 | "content-type": { | 342 | "content-type": { |
342 | "json": "JSON", | 343 | "json": "JSON", |
@@ -347,7 +347,8 @@ | @@ -347,7 +347,8 @@ | ||
347 | "enter-search": "Entrez la recherche", | 347 | "enter-search": "Entrez la recherche", |
348 | "enter-username": "Entrez le nom d'utilisateur", | 348 | "enter-username": "Entrez le nom d'utilisateur", |
349 | "password": "Mot de passe", | 349 | "password": "Mot de passe", |
350 | - "username": "Nom d'utilisateur" | 350 | + "username": "Nom d'utilisateur", |
351 | + "created-time": "Heure de création" | ||
351 | }, | 352 | }, |
352 | "confirm-on-exit": { | 353 | "confirm-on-exit": { |
353 | "html-message": "Vous avez des modifications non enregistrées. <br/> Êtes-vous sûr de vouloir quitter cette page?", | 354 | "html-message": "Vous avez des modifications non enregistrées. <br/> Êtes-vous sûr de vouloir quitter cette page?", |
@@ -361,7 +361,8 @@ | @@ -361,7 +361,8 @@ | ||
361 | "password": "Password", | 361 | "password": "Password", |
362 | "enter-username": "Inserisci nome utente", | 362 | "enter-username": "Inserisci nome utente", |
363 | "enter-password": "Inserisci password", | 363 | "enter-password": "Inserisci password", |
364 | - "enter-search": "Cerca ..." | 364 | + "enter-search": "Cerca ...", |
365 | + "created-time": "Orario di creazione" | ||
365 | }, | 366 | }, |
366 | "content-type": { | 367 | "content-type": { |
367 | "json": "Json", | 368 | "json": "Json", |
@@ -326,8 +326,9 @@ | @@ -326,8 +326,9 @@ | ||
326 | "password": "パスワード", | 326 | "password": "パスワード", |
327 | "enter-username": "ユーザーネームを入力してください", | 327 | "enter-username": "ユーザーネームを入力してください", |
328 | "enter-password": "パスワードを入力する", | 328 | "enter-password": "パスワードを入力する", |
329 | - "enter-search": "検索を入力" | ||
330 | - }, | 329 | + "enter-search": "検索を入力", |
330 | + "created-time": "作成時刻" | ||
331 | + }, | ||
331 | "content-type": { | 332 | "content-type": { |
332 | "json": "Json", | 333 | "json": "Json", |
333 | "text": "テキスト", | 334 | "text": "テキスト", |
@@ -337,7 +337,8 @@ | @@ -337,7 +337,8 @@ | ||
337 | "password": "Parole", | 337 | "password": "Parole", |
338 | "enter-username": "Ievadiet lietotājvārdu", | 338 | "enter-username": "Ievadiet lietotājvārdu", |
339 | "enter-password": "Ievadiet paroli", | 339 | "enter-password": "Ievadiet paroli", |
340 | - "enter-search": "Ievadiet meklēt" | 340 | + "enter-search": "Ievadiet meklēt", |
341 | + "created-time": "Izveidošanas laiks" | ||
341 | }, | 342 | }, |
342 | "content-type": { | 343 | "content-type": { |
343 | "json": "Json", | 344 | "json": "Json", |
@@ -369,7 +369,8 @@ | @@ -369,7 +369,8 @@ | ||
369 | "password": "Parola", | 369 | "password": "Parola", |
370 | "enter-username": "Introdu nume utilizator", | 370 | "enter-username": "Introdu nume utilizator", |
371 | "enter-password": "Introdu parola", | 371 | "enter-password": "Introdu parola", |
372 | - "enter-search": "Definește căutarea" | 372 | + "enter-search": "Definește căutarea", |
373 | + "created-time": "Data Creării" | ||
373 | }, | 374 | }, |
374 | "content-type": { | 375 | "content-type": { |
375 | "json": "Json", | 376 | "json": "Json", |
@@ -371,7 +371,8 @@ | @@ -371,7 +371,8 @@ | ||
371 | "password": "Пароль", | 371 | "password": "Пароль", |
372 | "enter-username": "Введите имя пользователя", | 372 | "enter-username": "Введите имя пользователя", |
373 | "enter-password": "Введите пароль", | 373 | "enter-password": "Введите пароль", |
374 | - "enter-search": "Введите условие поиска" | 374 | + "enter-search": "Введите условие поиска", |
375 | + "created-time": "Время создания" | ||
375 | }, | 376 | }, |
376 | "content-type": { | 377 | "content-type": { |
377 | "json": "Json", | 378 | "json": "Json", |
@@ -326,7 +326,8 @@ | @@ -326,7 +326,8 @@ | ||
326 | "password": "Parola", | 326 | "password": "Parola", |
327 | "enter-username": "Kullanıcı adı gir", | 327 | "enter-username": "Kullanıcı adı gir", |
328 | "enter-password": "Parola gir", | 328 | "enter-password": "Parola gir", |
329 | - "enter-search": "Arama gir" | 329 | + "enter-search": "Arama gir", |
330 | + "created-time": "Oluşma zamanı" | ||
330 | }, | 331 | }, |
331 | "content-type": { | 332 | "content-type": { |
332 | "json": "Json", | 333 | "json": "Json", |
@@ -405,7 +405,8 @@ | @@ -405,7 +405,8 @@ | ||
405 | "password": "Пароль", | 405 | "password": "Пароль", |
406 | "enter-username": "Введіть ім'я користувача", | 406 | "enter-username": "Введіть ім'я користувача", |
407 | "enter-password": "Введіть пароль", | 407 | "enter-password": "Введіть пароль", |
408 | - "enter-search": "Введіть пошук" | 408 | + "enter-search": "Введіть пошук", |
409 | + "created-time": "Час створення" | ||
409 | }, | 410 | }, |
410 | "converter": { | 411 | "converter": { |
411 | "converter": "Перетворювач даних", | 412 | "converter": "Перетворювач даних", |
@@ -326,7 +326,8 @@ | @@ -326,7 +326,8 @@ | ||
326 | "password": "密码", | 326 | "password": "密码", |
327 | "enter-username": "输入用户名", | 327 | "enter-username": "输入用户名", |
328 | "enter-password": "输入密码", | 328 | "enter-password": "输入密码", |
329 | - "enter-search": "输入检索条件" | 329 | + "enter-search": "输入检索条件", |
330 | + "created-time": "创建时间" | ||
330 | }, | 331 | }, |
331 | "content-type": { | 332 | "content-type": { |
332 | "json": "Json", | 333 | "json": "Json", |
@@ -326,7 +326,8 @@ | @@ -326,7 +326,8 @@ | ||
326 | "password": "密碼", | 326 | "password": "密碼", |
327 | "enter-username": "輸入用戶名", | 327 | "enter-username": "輸入用戶名", |
328 | "enter-password": "輸入密碼", | 328 | "enter-password": "輸入密碼", |
329 | - "enter-search": "輸入檢索條件" | 329 | + "enter-search": "輸入檢索條件", |
330 | + "created-time": "建立時間" | ||
330 | }, | 331 | }, |
331 | "content-type": { | 332 | "content-type": { |
332 | "json": "Json", | 333 | "json": "Json", |
@@ -477,7 +477,6 @@ mat-label { | @@ -477,7 +477,6 @@ mat-label { | ||
477 | 477 | ||
478 | .mat-form-field{ | 478 | .mat-form-field{ |
479 | .mat-icon { | 479 | .mat-icon { |
480 | - vertical-align: bottom; | ||
481 | margin-right: 4px; | 480 | margin-right: 4px; |
482 | margin-left: 4px; | 481 | margin-left: 4px; |
483 | } | 482 | } |
@@ -486,7 +485,6 @@ mat-label { | @@ -486,7 +485,6 @@ mat-label { | ||
486 | button.mat-menu-item { | 485 | button.mat-menu-item { |
487 | overflow: hidden; | 486 | overflow: hidden; |
488 | fill: #737373; | 487 | fill: #737373; |
489 | - display: block; | ||
490 | .tb-alt-text { | 488 | .tb-alt-text { |
491 | float: right; | 489 | float: right; |
492 | } | 490 | } |
@@ -618,7 +616,7 @@ mat-label { | @@ -618,7 +616,7 @@ mat-label { | ||
618 | display: table-cell; | 616 | display: table-cell; |
619 | box-sizing: content-box; | 617 | box-sizing: content-box; |
620 | line-break: unset; | 618 | line-break: unset; |
621 | - width: 0px; | 619 | + width: 0; |
622 | overflow: hidden; | 620 | overflow: hidden; |
623 | vertical-align: middle; | 621 | vertical-align: middle; |
624 | border-width: 0; | 622 | border-width: 0; |
@@ -626,6 +624,7 @@ mat-label { | @@ -626,6 +624,7 @@ mat-label { | ||
626 | border-bottom-color: rgba(0, 0, 0, 0.12); | 624 | border-bottom-color: rgba(0, 0, 0, 0.12); |
627 | border-style: solid; | 625 | border-style: solid; |
628 | text-overflow: ellipsis; | 626 | text-overflow: ellipsis; |
627 | + touch-action: auto !important; | ||
629 | &:last-child { | 628 | &:last-child { |
630 | padding: 0 12px 0 0; | 629 | padding: 0 12px 0 0; |
631 | } | 630 | } |
@@ -645,6 +644,7 @@ mat-label { | @@ -645,6 +644,7 @@ mat-label { | ||
645 | .mat-header-cell { | 644 | .mat-header-cell { |
646 | white-space: nowrap; | 645 | white-space: nowrap; |
647 | button.mat-sort-header-button { | 646 | button.mat-sort-header-button { |
647 | + display: block; | ||
648 | text-overflow: ellipsis; | 648 | text-overflow: ellipsis; |
649 | overflow: hidden; | 649 | overflow: hidden; |
650 | white-space: nowrap; | 650 | white-space: nowrap; |
@@ -694,7 +694,7 @@ mat-label { | @@ -694,7 +694,7 @@ mat-label { | ||
694 | } | 694 | } |
695 | 695 | ||
696 | .mat-icon { | 696 | .mat-icon { |
697 | - vertical-align: middle; | 697 | + vertical-align: bottom; |
698 | box-sizing: content-box; | 698 | box-sizing: content-box; |
699 | &.tb-mat-16 { | 699 | &.tb-mat-16 { |
700 | @include tb-mat-icon-size(16); | 700 | @include tb-mat-icon-size(16); |