Browse Source

Thread keyFiltersOperation through data subscription pipeline

- alias-controller: propagate keyFiltersOperation from FilterInfo to Datasource
- entity-data.service: propagate keyFiltersOperation from Datasource to EntityDataSubscriptionOptions
- entity-data-subscription: include keyFiltersOperation in entity data, entity count, and alarm count query construction
- alarm-data-subscription: include keyFiltersOperation in alarm data query construction
- alarm-data.service: propagate keyFiltersOperation from alarmSource to AlarmDataSubscriptionOptions
pull/15394/head
Viacheslav Klimov 6 months ago
parent
commit
cea7fc2b69
Failed to extract signature
  1. 1
      ui-ngx/src/app/core/api/alarm-data-subscription.ts
  2. 1
      ui-ngx/src/app/core/api/alarm-data.service.ts
  3. 4
      ui-ngx/src/app/core/api/alias-controller.ts
  4. 7
      ui-ngx/src/app/core/api/entity-data-subscription.ts
  5. 1
      ui-ngx/src/app/core/api/entity-data.service.ts

1
ui-ngx/src/app/core/api/alarm-data-subscription.ts

@ -122,6 +122,7 @@ export class AlarmDataSubscription {
entityFilter: this.alarmDataSubscriptionOptions.entityFilter, entityFilter: this.alarmDataSubscriptionOptions.entityFilter,
pageLink: deepClone(this.alarmDataSubscriptionOptions.pageLink), pageLink: deepClone(this.alarmDataSubscriptionOptions.pageLink),
keyFilters, keyFilters,
keyFiltersOperation: this.alarmDataSubscriptionOptions.keyFiltersOperation,
alarmFields, alarmFields,
entityFields, entityFields,
latestValues latestValues

1
ui-ngx/src/app/core/api/alarm-data.service.ts

@ -85,6 +85,7 @@ export class AlarmDataService {
alarmDataSubscriptionOptions.entityFilter = alarmSource.entityFilter; alarmDataSubscriptionOptions.entityFilter = alarmSource.entityFilter;
alarmDataSubscriptionOptions.pageLink = pageLink; alarmDataSubscriptionOptions.pageLink = pageLink;
alarmDataSubscriptionOptions.keyFilters = alarmSource.keyFilters; alarmDataSubscriptionOptions.keyFilters = alarmSource.keyFilters;
alarmDataSubscriptionOptions.keyFiltersOperation = alarmSource.keyFiltersOperation;
alarmDataSubscriptionOptions.additionalKeyFilters = additionalKeyFilters; alarmDataSubscriptionOptions.additionalKeyFilters = additionalKeyFilters;
} }
return alarmDataSubscriptionOptions; return alarmDataSubscriptionOptions;

4
ui-ngx/src/app/core/api/alias-controller.ts

@ -315,6 +315,10 @@ export class AliasController implements IAliasController {
|| newDatasource.type === DatasourceType.alarmCount) { || newDatasource.type === DatasourceType.alarmCount) {
if (newDatasource.filterId) { if (newDatasource.filterId) {
newDatasource.keyFilters = this.getKeyFilters(newDatasource.filterId); newDatasource.keyFilters = this.getKeyFilters(newDatasource.filterId);
const filterInfo = this.getFilterInfo(newDatasource.filterId);
if (filterInfo?.keyFiltersOperation) {
newDatasource.keyFiltersOperation = filterInfo.keyFiltersOperation;
}
} }
if (newDatasource.type === DatasourceType.alarmCount) { if (newDatasource.type === DatasourceType.alarmCount) {
newDatasource.alarmFilter = this.entityService.resolveAlarmFilter(newDatasource.alarmFilterConfig, false); newDatasource.alarmFilter = this.entityService.resolveAlarmFilter(newDatasource.alarmFilterConfig, false);

7
ui-ngx/src/app/core/api/entity-data-subscription.ts

@ -372,6 +372,7 @@ export class EntityDataSubscription {
entityFilter: this.entityDataSubscriptionOptions.entityFilter, entityFilter: this.entityDataSubscriptionOptions.entityFilter,
pageLink: this.entityDataSubscriptionOptions.pageLink, pageLink: this.entityDataSubscriptionOptions.pageLink,
keyFilters, keyFilters,
keyFiltersOperation: this.entityDataSubscriptionOptions.keyFiltersOperation,
entityFields, entityFields,
latestValues: this.latestValues latestValues: this.latestValues
}; };
@ -496,7 +497,8 @@ export class EntityDataSubscription {
} }
this.countCommand.query = { this.countCommand.query = {
entityFilter: this.entityDataSubscriptionOptions.entityFilter, entityFilter: this.entityDataSubscriptionOptions.entityFilter,
keyFilters keyFilters,
keyFiltersOperation: this.entityDataSubscriptionOptions.keyFiltersOperation
}; };
this.subscriber.subscriptionCommands.push(this.countCommand); this.subscriber.subscriptionCommands.push(this.countCommand);
@ -571,7 +573,8 @@ export class EntityDataSubscription {
} }
this.alarmCountCommand.query = { this.alarmCountCommand.query = {
entityFilter: this.entityDataSubscriptionOptions.entityFilter, entityFilter: this.entityDataSubscriptionOptions.entityFilter,
keyFilters keyFilters,
keyFiltersOperation: this.entityDataSubscriptionOptions.keyFiltersOperation
}; };
if (this.entityDataSubscriptionOptions.alarmFilter) { if (this.entityDataSubscriptionOptions.alarmFilter) {
this.alarmCountCommand.query = {...this.alarmCountCommand.query, ...this.entityDataSubscriptionOptions.alarmFilter}; this.alarmCountCommand.query = {...this.alarmCountCommand.query, ...this.entityDataSubscriptionOptions.alarmFilter};

1
ui-ngx/src/app/core/api/entity-data.service.ts

@ -183,6 +183,7 @@ export class EntityDataService {
entityDataSubscriptionOptions.alarmFilter = datasource.alarmFilter; entityDataSubscriptionOptions.alarmFilter = datasource.alarmFilter;
entityDataSubscriptionOptions.keyFilters = keyFilters; entityDataSubscriptionOptions.keyFilters = keyFilters;
entityDataSubscriptionOptions.additionalKeyFilters = additionalKeyFilters; entityDataSubscriptionOptions.additionalKeyFilters = additionalKeyFilters;
entityDataSubscriptionOptions.keyFiltersOperation = datasource.keyFiltersOperation;
if (entityDataSubscriptionOptions.datasourceType === DatasourceType.entity) { if (entityDataSubscriptionOptions.datasourceType === DatasourceType.entity) {
entityDataSubscriptionOptions.pageLink = pageLink; entityDataSubscriptionOptions.pageLink = pageLink;
} }

Loading…
Cancel
Save