Commit 3cc9ad50072ebbdaa0327c7eeef88b110ae1ca98

Authored by Vladyslav_Prykhodko
Committed by Andrew Shvayka
1 parent 6bc90275

UI: Improvement alarm tabs in the entity details: default time interval 30 days

@@ -43,6 +43,7 @@ import { @@ -43,6 +43,7 @@ import {
43 AlarmDetailsDialogComponent, 43 AlarmDetailsDialogComponent,
44 AlarmDetailsDialogData 44 AlarmDetailsDialogData
45 } from '@home/components/alarm/alarm-details-dialog.component'; 45 } from '@home/components/alarm/alarm-details-dialog.component';
  46 +import { DAY, historyInterval } from '@shared/models/time/time.models';
46 47
47 export class AlarmTableConfig extends EntityTableConfig<AlarmInfo, TimePageLink> { 48 export class AlarmTableConfig extends EntityTableConfig<AlarmInfo, TimePageLink> {
48 49
@@ -59,6 +60,7 @@ export class AlarmTableConfig extends EntityTableConfig<AlarmInfo, TimePageLink> @@ -59,6 +60,7 @@ export class AlarmTableConfig extends EntityTableConfig<AlarmInfo, TimePageLink>
59 this.loadDataOnInit = false; 60 this.loadDataOnInit = false;
60 this.tableTitle = ''; 61 this.tableTitle = '';
61 this.useTimePageLink = true; 62 this.useTimePageLink = true;
  63 + this.defaultTimewindowInterval = historyInterval(DAY * 30);
62 this.detailsPanelEnabled = false; 64 this.detailsPanelEnabled = false;
63 this.selectionEnabled = false; 65 this.selectionEnabled = false;
64 this.searchEnabled = true; 66 this.searchEnabled = true;
@@ -55,11 +55,11 @@ import { EntityTypeTranslation } from '@shared/models/entity-type.models'; @@ -55,11 +55,11 @@ import { EntityTypeTranslation } from '@shared/models/entity-type.models';
55 import { DialogService } from '@core/services/dialog.service'; 55 import { DialogService } from '@core/services/dialog.service';
56 import { AddEntityDialogComponent } from './add-entity-dialog.component'; 56 import { AddEntityDialogComponent } from './add-entity-dialog.component';
57 import { AddEntityDialogData, EntityAction } from '@home/models/entity/entity-component.models'; 57 import { AddEntityDialogData, EntityAction } from '@home/models/entity/entity-component.models';
58 -import { DAY, historyInterval, HistoryWindowType, Timewindow } from '@shared/models/time/time.models'; 58 +import { HistoryWindowType, Timewindow } from '@shared/models/time/time.models';
59 import { DomSanitizer, SafeHtml } from '@angular/platform-browser'; 59 import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
60 import { TbAnchorComponent } from '@shared/components/tb-anchor.component'; 60 import { TbAnchorComponent } from '@shared/components/tb-anchor.component';
61 import { isDefined, isUndefined } from '@core/utils'; 61 import { isDefined, isUndefined } from '@core/utils';
62 -import { HasUUID } from '../../../../shared/models/id/has-uuid'; 62 +import { HasUUID } from '@shared/models/id/has-uuid';
63 63
64 @Component({ 64 @Component({
65 selector: 'tb-entities-table', 65 selector: 'tb-entities-table',
@@ -202,7 +202,7 @@ export class EntitiesTableComponent extends PageComponent implements AfterViewIn @@ -202,7 +202,7 @@ export class EntitiesTableComponent extends PageComponent implements AfterViewIn
202 this.pageSizeOptions = [this.defaultPageSize, this.defaultPageSize * 2, this.defaultPageSize * 3]; 202 this.pageSizeOptions = [this.defaultPageSize, this.defaultPageSize * 2, this.defaultPageSize * 3];
203 203
204 if (this.entitiesTableConfig.useTimePageLink) { 204 if (this.entitiesTableConfig.useTimePageLink) {
205 - this.timewindow = historyInterval(DAY); 205 + this.timewindow = this.entitiesTableConfig.defaultTimewindowInterval;
206 const currentTime = Date.now(); 206 const currentTime = Date.now();
207 this.pageLink = new TimePageLink(10, 0, null, sortOrder, 207 this.pageLink = new TimePageLink(10, 0, null, sortOrder,
208 currentTime - this.timewindow.history.timewindowMs, currentTime); 208 currentTime - this.timewindow.history.timewindowMs, currentTime);
@@ -446,7 +446,7 @@ export class EntitiesTableComponent extends PageComponent implements AfterViewIn @@ -446,7 +446,7 @@ export class EntitiesTableComponent extends PageComponent implements AfterViewIn
446 resetSortAndFilter(update: boolean = true, preserveTimewindow: boolean = false) { 446 resetSortAndFilter(update: boolean = true, preserveTimewindow: boolean = false) {
447 this.pageLink.textSearch = null; 447 this.pageLink.textSearch = null;
448 if (this.entitiesTableConfig.useTimePageLink && !preserveTimewindow) { 448 if (this.entitiesTableConfig.useTimePageLink && !preserveTimewindow) {
449 - this.timewindow = historyInterval(DAY); 449 + this.timewindow = this.entitiesTableConfig.defaultTimewindowInterval;
450 } 450 }
451 if (this.displayPagination) { 451 if (this.displayPagination) {
452 this.paginator.pageIndex = 0; 452 this.paginator.pageIndex = 0;
@@ -30,6 +30,7 @@ import { EntitiesTableComponent } from '@home/components/entity/entities-table.c @@ -30,6 +30,7 @@ import { EntitiesTableComponent } from '@home/components/entity/entities-table.c
30 import { EntityTableHeaderComponent } from '@home/components/entity/entity-table-header.component'; 30 import { EntityTableHeaderComponent } from '@home/components/entity/entity-table-header.component';
31 import { ActivatedRoute } from '@angular/router'; 31 import { ActivatedRoute } from '@angular/router';
32 import { EntityTabsComponent } from '../../components/entity/entity-tabs.component'; 32 import { EntityTabsComponent } from '../../components/entity/entity-tabs.component';
  33 +import { DAY, historyInterval } from '@shared/models/time/time.models';
33 34
34 export type EntityBooleanFunction<T extends BaseData<HasId>> = (entity: T) => boolean; 35 export type EntityBooleanFunction<T extends BaseData<HasId>> = (entity: T) => boolean;
35 export type EntityStringFunction<T extends BaseData<HasId>> = (entity: T) => string; 36 export type EntityStringFunction<T extends BaseData<HasId>> = (entity: T) => string;
@@ -135,6 +136,7 @@ export class EntityTableConfig<T extends BaseData<HasId>, P extends PageLink = P @@ -135,6 +136,7 @@ export class EntityTableConfig<T extends BaseData<HasId>, P extends PageLink = P
135 onLoadAction: (route: ActivatedRoute) => void = null; 136 onLoadAction: (route: ActivatedRoute) => void = null;
136 table: EntitiesTableComponent = null; 137 table: EntitiesTableComponent = null;
137 useTimePageLink = false; 138 useTimePageLink = false;
  139 + defaultTimewindowInterval = historyInterval(DAY);
138 entityType: EntityType = null; 140 entityType: EntityType = null;
139 tableTitle = ''; 141 tableTitle = '';
140 selectionEnabled = true; 142 selectionEnabled = true;
@@ -162,7 +164,7 @@ export class EntityTableConfig<T extends BaseData<HasId>, P extends PageLink = P @@ -162,7 +164,7 @@ export class EntityTableConfig<T extends BaseData<HasId>, P extends PageLink = P
162 dataSource: (dataLoadedFunction: (col?: number, row?: number) => void) 164 dataSource: (dataLoadedFunction: (col?: number, row?: number) => void)
163 => EntitiesDataSource<L> = (dataLoadedFunction: (col?: number, row?: number) => void) => { 165 => EntitiesDataSource<L> = (dataLoadedFunction: (col?: number, row?: number) => void) => {
164 return new EntitiesDataSource(this.entitiesFetchFunction, this.entitySelectionEnabled, dataLoadedFunction); 166 return new EntitiesDataSource(this.entitiesFetchFunction, this.entitySelectionEnabled, dataLoadedFunction);
165 - }; 167 + }
166 detailsReadonly: EntityBooleanFunction<T> = () => false; 168 detailsReadonly: EntityBooleanFunction<T> = () => false;
167 entitySelectionEnabled: EntityBooleanFunction<L> = () => true; 169 entitySelectionEnabled: EntityBooleanFunction<L> = () => true;
168 deleteEnabled: EntityBooleanFunction<T | L> = () => true; 170 deleteEnabled: EntityBooleanFunction<T | L> = () => true;