Code optimization for a fix of an issue with broken pagination settings validation in table-widgets
This commit is contained in:
parent
49289da5a8
commit
358e635805
@ -43,7 +43,6 @@ import {
|
|||||||
isDefined,
|
isDefined,
|
||||||
isDefinedAndNotNull,
|
isDefinedAndNotNull,
|
||||||
isNotEmptyStr,
|
isNotEmptyStr,
|
||||||
isNumber,
|
|
||||||
isObject,
|
isObject,
|
||||||
isUndefined
|
isUndefined
|
||||||
} from '@core/utils';
|
} from '@core/utils';
|
||||||
@ -77,6 +76,8 @@ import {
|
|||||||
getHeaderTitle,
|
getHeaderTitle,
|
||||||
getRowStyleInfo,
|
getRowStyleInfo,
|
||||||
getTableCellButtonActions,
|
getTableCellButtonActions,
|
||||||
|
isValidPageStepCount,
|
||||||
|
isValidPageStepIncrement,
|
||||||
noDataMessage,
|
noDataMessage,
|
||||||
prepareTableCellButtonActions,
|
prepareTableCellButtonActions,
|
||||||
RowStyleInfo,
|
RowStyleInfo,
|
||||||
@ -392,10 +393,8 @@ export class AlarmsTableWidgetComponent extends PageComponent implements OnInit,
|
|||||||
this.rowStylesInfo = getRowStyleInfo(this.ctx, this.settings, 'alarm, ctx');
|
this.rowStylesInfo = getRowStyleInfo(this.ctx, this.settings, 'alarm, ctx');
|
||||||
|
|
||||||
const pageSize = this.settings.defaultPageSize;
|
const pageSize = this.settings.defaultPageSize;
|
||||||
let pageStepIncrement = Number.isInteger(this.settings.pageStepIncrement) && this.settings.pageStepIncrement > 0 ?
|
let pageStepIncrement = isValidPageStepIncrement(this.settings.pageStepIncrement) ? this.settings.pageStepIncrement : null;
|
||||||
this.settings.pageStepIncrement : null;
|
let pageStepCount = isValidPageStepCount(this.settings.pageStepCount) ? this.settings.pageStepCount : null;
|
||||||
let pageStepCount = Number.isInteger(this.settings.pageStepCount) && this.settings.pageStepCount > 0
|
|
||||||
&& this.settings.pageStepCount <= 100 ? this.settings.pageStepCount : null;
|
|
||||||
|
|
||||||
if (Number.isInteger(pageSize) && pageSize > 0) {
|
if (Number.isInteger(pageSize) && pageSize > 0) {
|
||||||
this.defaultPageSize = pageSize;
|
this.defaultPageSize = pageSize;
|
||||||
|
|||||||
@ -42,7 +42,7 @@ import {
|
|||||||
import { IWidgetSubscription } from '@core/api/widget-api.models';
|
import { IWidgetSubscription } from '@core/api/widget-api.models';
|
||||||
import { UtilsService } from '@core/services/utils.service';
|
import { UtilsService } from '@core/services/utils.service';
|
||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
import { deepClone, hashCode, isDefined, isDefinedAndNotNull, isNumber, isObject, isUndefined } from '@core/utils';
|
import { deepClone, hashCode, isDefined, isDefinedAndNotNull, isObject, isUndefined } from '@core/utils';
|
||||||
import cssjs from '@core/css/css';
|
import cssjs from '@core/css/css';
|
||||||
import { CollectionViewer, DataSource } from '@angular/cdk/collections';
|
import { CollectionViewer, DataSource } from '@angular/cdk/collections';
|
||||||
import { DataKeyType } from '@shared/models/telemetry/telemetry.models';
|
import { DataKeyType } from '@shared/models/telemetry/telemetry.models';
|
||||||
@ -75,6 +75,8 @@ import {
|
|||||||
getHeaderTitle,
|
getHeaderTitle,
|
||||||
getRowStyleInfo,
|
getRowStyleInfo,
|
||||||
getTableCellButtonActions,
|
getTableCellButtonActions,
|
||||||
|
isValidPageStepCount,
|
||||||
|
isValidPageStepIncrement,
|
||||||
noDataMessage,
|
noDataMessage,
|
||||||
prepareTableCellButtonActions,
|
prepareTableCellButtonActions,
|
||||||
RowStyleInfo,
|
RowStyleInfo,
|
||||||
@ -311,10 +313,8 @@ export class EntitiesTableWidgetComponent extends PageComponent implements OnIni
|
|||||||
this.rowStylesInfo = getRowStyleInfo(this.ctx, this.settings, 'entity, ctx');
|
this.rowStylesInfo = getRowStyleInfo(this.ctx, this.settings, 'entity, ctx');
|
||||||
|
|
||||||
const pageSize = this.settings.defaultPageSize;
|
const pageSize = this.settings.defaultPageSize;
|
||||||
let pageStepIncrement = Number.isInteger(this.settings.pageStepIncrement) && this.settings.pageStepIncrement > 0 ?
|
let pageStepIncrement = isValidPageStepIncrement(this.settings.pageStepIncrement) ? this.settings.pageStepIncrement : null;
|
||||||
this.settings.pageStepIncrement : null;
|
let pageStepCount = isValidPageStepCount(this.settings.pageStepCount) ? this.settings.pageStepCount : null;
|
||||||
let pageStepCount = Number.isInteger(this.settings.pageStepCount) && this.settings.pageStepCount > 0
|
|
||||||
&& this.settings.pageStepCount <= 100 ? this.settings.pageStepCount : null;
|
|
||||||
|
|
||||||
if (Number.isInteger(pageSize) && pageSize > 0) {
|
if (Number.isInteger(pageSize) && pageSize > 0) {
|
||||||
this.defaultPageSize = pageSize;
|
this.defaultPageSize = pageSize;
|
||||||
|
|||||||
@ -36,6 +36,8 @@ import { BehaviorSubject, merge, Observable, of, ReplaySubject, Subject, throwEr
|
|||||||
import { catchError, map, tap } from 'rxjs/operators';
|
import { catchError, map, tap } from 'rxjs/operators';
|
||||||
import {
|
import {
|
||||||
constructTableCssString,
|
constructTableCssString,
|
||||||
|
isValidPageStepCount,
|
||||||
|
isValidPageStepIncrement,
|
||||||
noDataMessage,
|
noDataMessage,
|
||||||
TableCellButtonActionDescriptor,
|
TableCellButtonActionDescriptor,
|
||||||
TableWidgetSettings
|
TableWidgetSettings
|
||||||
@ -43,7 +45,7 @@ import {
|
|||||||
import cssjs from '@core/css/css';
|
import cssjs from '@core/css/css';
|
||||||
import { UtilsService } from '@core/services/utils.service';
|
import { UtilsService } from '@core/services/utils.service';
|
||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
import { hashCode, isDefined, isDefinedAndNotNull, isNumber, parseHttpErrorMessage } from '@core/utils';
|
import { hashCode, isDefined, isDefinedAndNotNull, parseHttpErrorMessage } from '@core/utils';
|
||||||
import { CollectionViewer, DataSource } from '@angular/cdk/collections';
|
import { CollectionViewer, DataSource } from '@angular/cdk/collections';
|
||||||
import { emptyPageData, PageData } from '@shared/models/page/page-data';
|
import { emptyPageData, PageData } from '@shared/models/page/page-data';
|
||||||
import {
|
import {
|
||||||
@ -207,10 +209,8 @@ export class PersistentTableComponent extends PageComponent implements OnInit, O
|
|||||||
this.displayedColumns = [...this.displayTableColumns];
|
this.displayedColumns = [...this.displayTableColumns];
|
||||||
|
|
||||||
const pageSize = this.settings.defaultPageSize;
|
const pageSize = this.settings.defaultPageSize;
|
||||||
let pageStepIncrement = Number.isInteger(this.settings.pageStepIncrement) && this.settings.pageStepIncrement > 0 ?
|
let pageStepIncrement = isValidPageStepIncrement(this.settings.pageStepIncrement) ? this.settings.pageStepIncrement : null;
|
||||||
this.settings.pageStepIncrement : null;
|
let pageStepCount = isValidPageStepCount(this.settings.pageStepCount) ? this.settings.pageStepCount : null;
|
||||||
let pageStepCount = Number.isInteger(this.settings.pageStepCount) && this.settings.pageStepCount > 0
|
|
||||||
&& this.settings.pageStepCount <= 100 ? this.settings.pageStepCount : null;
|
|
||||||
|
|
||||||
if (Number.isInteger(pageSize) && pageSize > 0) {
|
if (Number.isInteger(pageSize) && pageSize > 0) {
|
||||||
this.defaultPageSize = pageSize;
|
this.defaultPageSize = pageSize;
|
||||||
|
|||||||
@ -564,11 +564,18 @@ export function getHeaderTitle(dataKey: DataKey, keySettings: TableWidgetDataKey
|
|||||||
|
|
||||||
export function buildPageStepSizeValues(pageStepCount: number, pageStepIncrement: number): Array<number> {
|
export function buildPageStepSizeValues(pageStepCount: number, pageStepIncrement: number): Array<number> {
|
||||||
const pageSteps: Array<number> = [];
|
const pageSteps: Array<number> = [];
|
||||||
if (Number.isInteger(pageStepCount) && pageStepCount > 0 && pageStepCount <= 100 &&
|
if (isValidPageStepCount(pageStepCount) && isValidPageStepIncrement(pageStepIncrement)) {
|
||||||
Number.isInteger(pageStepIncrement) && pageStepIncrement > 0) {
|
|
||||||
for (let i = 1; i <= pageStepCount; i++) {
|
for (let i = 1; i <= pageStepCount; i++) {
|
||||||
pageSteps.push(pageStepIncrement * i);
|
pageSteps.push(pageStepIncrement * i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return pageSteps;
|
return pageSteps;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function isValidPageStepIncrement(value: number): boolean {
|
||||||
|
return Number.isInteger(value) && value > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function isValidPageStepCount(value: number): boolean {
|
||||||
|
return Number.isInteger(value) && value > 0 && value <= 100;
|
||||||
|
}
|
||||||
|
|||||||
@ -49,7 +49,6 @@ import {
|
|||||||
hashCode,
|
hashCode,
|
||||||
isDefined,
|
isDefined,
|
||||||
isDefinedAndNotNull,
|
isDefinedAndNotNull,
|
||||||
isNumber,
|
|
||||||
isObject,
|
isObject,
|
||||||
isUndefined
|
isUndefined
|
||||||
} from '@core/utils';
|
} from '@core/utils';
|
||||||
@ -85,6 +84,8 @@ import {
|
|||||||
getColumnSelectionAvailability,
|
getColumnSelectionAvailability,
|
||||||
getRowStyleInfo,
|
getRowStyleInfo,
|
||||||
getTableCellButtonActions,
|
getTableCellButtonActions,
|
||||||
|
isValidPageStepCount,
|
||||||
|
isValidPageStepIncrement,
|
||||||
noDataMessage,
|
noDataMessage,
|
||||||
prepareTableCellButtonActions,
|
prepareTableCellButtonActions,
|
||||||
RowStyleInfo,
|
RowStyleInfo,
|
||||||
@ -352,10 +353,8 @@ export class TimeseriesTableWidgetComponent extends PageComponent implements OnI
|
|||||||
this.rowStylesInfo = getRowStyleInfo(this.ctx, this.settings, 'rowData, ctx');
|
this.rowStylesInfo = getRowStyleInfo(this.ctx, this.settings, 'rowData, ctx');
|
||||||
|
|
||||||
const pageSize = this.settings.defaultPageSize;
|
const pageSize = this.settings.defaultPageSize;
|
||||||
let pageStepIncrement = Number.isInteger(this.settings.pageStepIncrement) && this.settings.pageStepIncrement > 0 ?
|
let pageStepIncrement = isValidPageStepIncrement(this.settings.pageStepIncrement) ? this.settings.pageStepIncrement : null;
|
||||||
this.settings.pageStepIncrement : null;
|
let pageStepCount = isValidPageStepCount(this.settings.pageStepCount) ? this.settings.pageStepCount : null;
|
||||||
let pageStepCount = Number.isInteger(this.settings.pageStepCount) && this.settings.pageStepCount > 0
|
|
||||||
&& this.settings.pageStepCount <= 100 ? this.settings.pageStepCount : null;
|
|
||||||
|
|
||||||
if (Number.isInteger(pageSize) && pageSize > 0) {
|
if (Number.isInteger(pageSize) && pageSize > 0) {
|
||||||
this.defaultPageSize = pageSize;
|
this.defaultPageSize = pageSize;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user