From b1ec9379367ba1eb0cab4bcc642c8c3570718ea5 Mon Sep 17 00:00:00 2001 From: Igor Kulikov Date: Wed, 4 Dec 2024 16:16:27 +0200 Subject: [PATCH] Update UI types --- package.json | 26 +- src/app/core/api/alias-controller.d.ts | 6 + .../core/api/entity-data-subscription.d.ts | 13 +- src/app/core/api/entity-data.service.d.ts | 4 +- src/app/core/auth/auth.models.d.ts | 4 + src/app/core/auth/auth.service.d.ts | 3 +- src/app/core/http/dashboard.service.d.ts | 2 +- src/app/core/http/domain.service.d.ts | 2 +- src/app/core/http/entity.service.d.ts | 6 +- src/app/core/http/mobile-app.service.d.ts | 15 +- .../core/http/mobile-application.service.d.ts | 8 +- src/app/core/http/resource.service.d.ts | 7 +- src/app/core/http/self-register.service.d.ts | 8 +- src/app/core/http/white-labeling.service.d.ts | 2 + src/app/core/http/widget.service.d.ts | 8 +- .../entity-conflict.interceptor.d.ts | 6 +- src/app/core/services/menu.models.d.ts | 7 +- src/app/core/settings/settings.effects.d.ts | 5 +- src/app/core/settings/settings.utils.d.ts | 2 +- src/app/core/utils.d.ts | 9 +- src/app/modules/common/modules-map.ts | 19 +- .../alarm/alarm-comment.component.d.ts | 2 + .../alias/entity-alias-select.component.d.ts | 26 +- .../entity-alias-select.component.models.d.ts | 1 + .../converter/converter.component.d.ts | 1 + .../debug-settings-button.component.d.ts | 36 ++ .../debug-settings-panel.component.d.ts | 32 ++ .../entity/entity-chips.component.d.ts | 14 +- .../components/event/event-table-config.d.ts | 6 +- .../event/event-table.component.d.ts | 5 +- .../group/entity-groups-table-config.d.ts | 9 +- .../entity-groups-table-config.resolver.d.ts | 7 +- .../group-config-table-config.service.d.ts | 7 +- .../components/home-components.module.d.ts | 237 +++++------ ...-event-hub-integration-form.component.d.ts | 1 + .../role/user-group-panel.component.d.ts | 21 + .../role/user-groups-panel-row.component.d.ts | 33 ++ ...stom-scheduler-event-config.component.d.ts | 5 +- ...entity-types-version-create.component.d.ts | 2 +- .../entity-types-version-load.component.d.ts | 2 +- .../vc/entity-version-create.component.d.ts | 1 + .../basic/basic-widget-config.module.d.ts | 45 +-- ...gmented-button-basic-config.component.d.ts | 32 ++ .../config/data-key-config.component.d.ts | 2 +- .../widget/config/data-keys.component.d.ts | 26 +- .../dialog/custom-dialog.component.d.ts | 14 +- .../widget/dynamic-widget.component.d.ts | 21 +- .../lib/action/action-widget.models.d.ts | 30 +- .../alarm/alarms-table-widget.component.d.ts | 15 +- .../segmented-button-widget.models.d.ts | 76 ++++ .../two-segment-button-widget.component.d.ts | 29 ++ .../entities-table-widget.component.d.ts | 14 +- .../signal-strength-widget.component.d.ts | 1 + .../signal-strength-widget.models.d.ts | 2 +- .../widget/lib/maps/common-maps-utils.d.ts | 3 +- .../widget/lib/maps/map-models.d.ts | 78 ++-- .../widget/lib/maps/map-widget2.d.ts | 8 +- .../widget/lib/maps/maps-utils.d.ts | 3 +- .../widget/lib/maps/providers/image-map.d.ts | 3 +- .../widget/lib/markdown-widget.component.d.ts | 7 +- .../mobile-app-qrcode-widget.component.d.ts | 8 +- .../widget/lib/qrcode-widget.component.d.ts | 6 +- ...nted-button-widget-settings.component.d.ts | 30 ++ ...value-action-settings-panel.component.d.ts | 5 + .../action/mobile-action-editor.models.d.ts | 9 +- ...n-toggle-custom-style-panel.component.d.ts | 41 ++ ...-button-toggle-custom-style.component.d.ts | 35 ++ .../common/widget-settings-common.module.d.ts | 56 +-- .../lib/settings/widget-settings.module.d.ts | 49 +-- .../widget/lib/table-widget.models.d.ts | 29 +- .../timeseries-table-widget.component.d.ts | 16 +- .../trip-animation.component.d.ts | 7 + .../widget/widget-component.service.d.ts | 6 +- .../widget/widget-components.module.d.ts | 49 +-- .../widget/widget-config.component.d.ts | 1 + .../components/widget/widget.component.d.ts | 6 +- .../integration-wizard-dialog.component.d.ts | 1 + .../home/models/widget-component.models.d.ts | 14 +- .../home/pages/admin/admin.module.d.ts | 28 +- .../admin/mobile-app-settings.component.d.ts | 34 -- .../clients-table-config.resolver.d.ts | 4 +- .../domains/domain-dialog.component.d.ts | 30 ++ .../domains/domain-table-config.resolver.d.ts | 6 +- .../oauth2/domains/domain.component.d.ts | 2 +- .../mobile-apps/mobile-app.component.d.ts | 28 -- .../pages/admin/oauth2/oauth2.module.d.ts | 13 +- .../js-library-table-config.resolver.d.ts | 30 ++ .../js-library-table-header.component.d.ts | 15 + .../admin/resource/js-resource.component.d.ts | 41 ++ .../resource/resource-tabs.component.d.ts | 12 + .../admin/self-registration.component.d.ts | 28 +- .../pages/admin/white-labeling.component.d.ts | 24 +- .../asset-profiles-table-config.resolver.d.ts | 8 +- .../converters-table-config.resolver.d.ts | 4 +- .../custom-menu-item-row.component.d.ts | 2 +- ...device-profiles-table-config.resolver.d.ts | 6 +- .../modules/home/pages/home-pages.module.d.ts | 59 +-- .../integration/integration.component.d.ts | 1 + .../pages/integration/integration.module.d.ts | 3 +- .../integrations-table-config.d.ts | 18 +- .../integrations-table-config.resolver.d.ts | 11 +- .../applications-routing.module.d.ts | 9 + .../applications/applications.module.d.ts | 15 + .../mobile-app-dialog.component.d.ts | 33 ++ .../mobile-app-table-config.resolver.d.ts | 18 +- .../mobile-app-table-header.component.d.ts | 8 +- .../applications/mobile-app.component.d.ts | 41 ++ .../remove-app-dialog.component.d.ts | 32 ++ .../mobile/bundes/bundles-routing.module.d.ts | 8 + .../pages/mobile/bundes/bundles.module.d.ts | 24 ++ .../add-mobile-page-dialog.component.d.ts | 20 + .../custom-mobile-page-panel.component.d.ts | 19 + .../layout/custom-mobile-page.component.d.ts | 32 ++ .../default-mobile-page-panel.component.d.ts | 30 ++ .../layout/mobile-layout.component.d.ts | 50 +++ .../mobile-page-item-row.component.d.ts | 57 +++ ...le-app-configuration-dialog.component.d.ts | 33 ++ .../mobile-bundle-dialog.component.d.ts | 73 ++++ .../mobile-bundle-table-config.resolve.d.ts | 28 ++ .../mobile-bundle-table-header.component.d.ts | 15 + ...e-registration-fields-panel.component.d.ts | 27 ++ ...ile-registration-fields-row.component.d.ts | 30 ++ .../mobile-self-registration.component.d.ts | 78 ++++ .../mobile/common/common-mobile.module.d.ts | 9 + .../mobile/common/editor-panel.component.d.ts | 20 + .../pages/mobile/mobile-routing.module.d.ts | 7 + .../home/pages/mobile/mobile.module.d.ts | 13 + ...r-code-widget-settings-routing.module.d.ts | 9 + ...ile-qr-code-widget-settings.component.d.ts | 45 +++ ...mobile-qr-code-widget-settings.module.d.ts | 12 + .../recipient-table-config.resolver.d.ts | 4 +- .../rule/rule-table-config.resolver.d.ts | 4 +- .../sent-notification-dialog.componet.d.ts | 1 + .../role/roles-table-config.resolver.d.ts | 4 +- .../rule-node-details.component.d.ts | 2 + .../pages/rulechain/rulechain.module.d.ts | 4 +- .../rulechain/rulechains-table-config.d.ts | 4 +- .../rulechains-table-config.resolver.d.ts | 6 +- .../scada-symbol/scada-symbol.component.d.ts | 5 +- ...tenant-profiles-table-config.resolver.d.ts | 4 +- .../pages/widget/widget-editor.component.d.ts | 22 +- .../signup/pages/signup/signup.component.d.ts | 23 +- .../pages/signup/tb-recaptcha.component.d.ts | 15 +- .../widget-button-toggle.component.d.ts | 49 +++ .../country-autocomplete.component.d.ts | 5 +- .../custom-menu-autocomplete.component.d.ts | 2 +- .../entity-conflict-dialog.component.d.ts | 5 +- .../entity/entity-autocomplete.component.d.ts | 9 +- .../entity/entity-type-select.component.d.ts | 4 +- .../components/file-input.component.d.ts | 5 +- .../entity-group-autocomplete.component.d.ts | 9 +- .../group/entity-group-select.component.d.ts | 4 +- .../components/help-markdown.component.d.ts | 8 +- .../components/help-popup.component.d.ts | 15 +- .../js-func-module-row.component.d.ts | 47 +++ .../components/js-func-modules.component.d.ts | 27 ++ .../shared/components/js-func.component.d.ts | 31 +- .../react/json-form-schema-form.d.ts | 1 + .../shared/components/kv-map.component.d.ts | 11 +- src/app/shared/components/page.component.d.ts | 2 +- .../shared/components/popover.service.d.ts | 3 +- .../resource-autocomplete.component.d.ts | 11 +- ...gation-options-config-panel.component.d.ts | 21 + .../aggregation-type-select.component.d.ts | 35 ++ .../grouping-interval-options.component.d.ts | 36 ++ ...terval-options-config-panel.component.d.ts | 44 +++ .../time/quick-time-interval.component.d.ts | 22 +- .../time/timeinterval.component.d.ts | 13 +- .../timewindow-config-dialog.component.d.ts | 34 +- .../time/timewindow-panel.component.d.ts | 30 +- src/app/shared/decorators/public-api.d.ts | 1 - src/app/shared/decorators/tb-inject.d.ts | 2 - .../export-resource-dialog.component.d.ts | 31 ++ ...xport-widgets-bundle-dialog.component.d.ts | 32 -- .../import-export/import-export.service.d.ts | 9 +- .../shared/models/ace/completion.models.d.ts | 2 +- .../models/ace/service-completion.models.d.ts | 2 + .../models/action-widget-settings.models.d.ts | 12 +- src/app/shared/models/constants.d.ts | 9 + src/app/shared/models/converter.models.d.ts | 4 +- src/app/shared/models/custom-menu.models.d.ts | 1 + src/app/shared/models/dashboard.models.d.ts | 1 + .../shared/models/entity-group.models.d.ts | 5 +- src/app/shared/models/entity-type.models.d.ts | 1 + src/app/shared/models/entity.models.d.ts | 10 + src/app/shared/models/error.models.d.ts | 2 + .../models/group-permission.models.d.ts | 4 +- .../models/id/mobile-app-bundle-id.d.ts | 7 + src/app/shared/models/id/public-api.d.ts | 2 + src/app/shared/models/integration.models.d.ts | 7 +- src/app/shared/models/js-function.models.d.ts | 28 ++ src/app/shared/models/mobile-app.models.d.ts | 129 ++++-- .../shared/models/notification.models.d.ts | 5 +- src/app/shared/models/oauth2.models.d.ts | 11 +- src/app/shared/models/resource.models.d.ts | 24 +- src/app/shared/models/rule-node.models.d.ts | 7 +- src/app/shared/models/security.models.d.ts | 6 +- .../shared/models/self-register.models.d.ts | 101 ++++- src/app/shared/models/settings.models.d.ts | 2 - src/app/shared/models/signup.models.d.ts | 12 +- .../models/telemetry/telemetry.models.d.ts | 46 +++ src/app/shared/models/tenant.model.d.ts | 1 + src/app/shared/models/time/time.models.d.ts | 32 ++ .../shared/models/user-settings.models.d.ts | 3 + src/app/shared/models/vc.models.d.ts | 2 +- .../shared/models/white-labeling.models.d.ts | 3 +- src/app/shared/models/widget.models.d.ts | 28 +- src/app/shared/pipe/duration-left.pipe.d.ts | 12 + .../milliseconds-to-time-string.pipe.d.ts | 4 +- src/app/shared/pipe/public-api.d.ts | 1 + src/app/shared/shared.module.d.ts | 369 +++++++++--------- src/styles.css | 2 +- 212 files changed, 3110 insertions(+), 1032 deletions(-) create mode 100644 src/app/modules/home/components/debug-settings/debug-settings-button.component.d.ts create mode 100644 src/app/modules/home/components/debug-settings/debug-settings-panel.component.d.ts create mode 100644 src/app/modules/home/components/role/user-group-panel.component.d.ts create mode 100644 src/app/modules/home/components/role/user-groups-panel-row.component.d.ts create mode 100644 src/app/modules/home/components/widget/config/basic/button/segmented-button-basic-config.component.d.ts create mode 100644 src/app/modules/home/components/widget/lib/button/segmented-button-widget.models.d.ts create mode 100644 src/app/modules/home/components/widget/lib/button/two-segment-button-widget.component.d.ts create mode 100644 src/app/modules/home/components/widget/lib/settings/button/segmented-button-widget-settings.component.d.ts create mode 100644 src/app/modules/home/components/widget/lib/settings/common/button/widget-button-toggle-custom-style-panel.component.d.ts create mode 100644 src/app/modules/home/components/widget/lib/settings/common/button/widget-button-toggle-custom-style.component.d.ts delete mode 100644 src/app/modules/home/pages/admin/mobile-app-settings.component.d.ts create mode 100644 src/app/modules/home/pages/admin/oauth2/domains/domain-dialog.component.d.ts delete mode 100644 src/app/modules/home/pages/admin/oauth2/mobile-apps/mobile-app.component.d.ts create mode 100644 src/app/modules/home/pages/admin/resource/js-library-table-config.resolver.d.ts create mode 100644 src/app/modules/home/pages/admin/resource/js-library-table-header.component.d.ts create mode 100644 src/app/modules/home/pages/admin/resource/js-resource.component.d.ts create mode 100644 src/app/modules/home/pages/admin/resource/resource-tabs.component.d.ts create mode 100644 src/app/modules/home/pages/mobile/applications/applications-routing.module.d.ts create mode 100644 src/app/modules/home/pages/mobile/applications/applications.module.d.ts create mode 100644 src/app/modules/home/pages/mobile/applications/mobile-app-dialog.component.d.ts rename src/app/modules/home/pages/{admin/oauth2/mobile-apps => mobile/applications}/mobile-app-table-config.resolver.d.ts (52%) rename src/app/modules/home/pages/{admin/oauth2/mobile-apps => mobile/applications}/mobile-app-table-header.component.d.ts (67%) create mode 100644 src/app/modules/home/pages/mobile/applications/mobile-app.component.d.ts create mode 100644 src/app/modules/home/pages/mobile/applications/remove-app-dialog.component.d.ts create mode 100644 src/app/modules/home/pages/mobile/bundes/bundles-routing.module.d.ts create mode 100644 src/app/modules/home/pages/mobile/bundes/bundles.module.d.ts create mode 100644 src/app/modules/home/pages/mobile/bundes/layout/add-mobile-page-dialog.component.d.ts create mode 100644 src/app/modules/home/pages/mobile/bundes/layout/custom-mobile-page-panel.component.d.ts create mode 100644 src/app/modules/home/pages/mobile/bundes/layout/custom-mobile-page.component.d.ts create mode 100644 src/app/modules/home/pages/mobile/bundes/layout/default-mobile-page-panel.component.d.ts create mode 100644 src/app/modules/home/pages/mobile/bundes/layout/mobile-layout.component.d.ts create mode 100644 src/app/modules/home/pages/mobile/bundes/layout/mobile-page-item-row.component.d.ts create mode 100644 src/app/modules/home/pages/mobile/bundes/mobile-app-configuration-dialog.component.d.ts create mode 100644 src/app/modules/home/pages/mobile/bundes/mobile-bundle-dialog.component.d.ts create mode 100644 src/app/modules/home/pages/mobile/bundes/mobile-bundle-table-config.resolve.d.ts create mode 100644 src/app/modules/home/pages/mobile/bundes/mobile-bundle-table-header.component.d.ts create mode 100644 src/app/modules/home/pages/mobile/bundes/sefl-registration/mobile-registration-fields-panel.component.d.ts create mode 100644 src/app/modules/home/pages/mobile/bundes/sefl-registration/mobile-registration-fields-row.component.d.ts create mode 100644 src/app/modules/home/pages/mobile/bundes/sefl-registration/mobile-self-registration.component.d.ts create mode 100644 src/app/modules/home/pages/mobile/common/common-mobile.module.d.ts create mode 100644 src/app/modules/home/pages/mobile/common/editor-panel.component.d.ts create mode 100644 src/app/modules/home/pages/mobile/mobile-routing.module.d.ts create mode 100644 src/app/modules/home/pages/mobile/mobile.module.d.ts create mode 100644 src/app/modules/home/pages/mobile/qr-code-widget/mobile-qr-code-widget-settings-routing.module.d.ts create mode 100644 src/app/modules/home/pages/mobile/qr-code-widget/mobile-qr-code-widget-settings.component.d.ts create mode 100644 src/app/modules/home/pages/mobile/qr-code-widget/mobile-qr-code-widget-settings.module.d.ts create mode 100644 src/app/shared/components/button/widget-button-toggle.component.d.ts create mode 100644 src/app/shared/components/js-func-module-row.component.d.ts create mode 100644 src/app/shared/components/js-func-modules.component.d.ts create mode 100644 src/app/shared/components/time/aggregation/aggregation-options-config-panel.component.d.ts create mode 100644 src/app/shared/components/time/aggregation/aggregation-type-select.component.d.ts create mode 100644 src/app/shared/components/time/aggregation/grouping-interval-options.component.d.ts create mode 100644 src/app/shared/components/time/interval-options-config-panel.component.d.ts delete mode 100644 src/app/shared/decorators/tb-inject.d.ts create mode 100644 src/app/shared/import-export/export-resource-dialog.component.d.ts delete mode 100644 src/app/shared/import-export/export-widgets-bundle-dialog.component.d.ts create mode 100644 src/app/shared/models/id/mobile-app-bundle-id.d.ts create mode 100644 src/app/shared/models/js-function.models.d.ts create mode 100644 src/app/shared/pipe/duration-left.pipe.d.ts diff --git a/package.json b/package.json index 3d2d7193..04c29b1f 100755 --- a/package.json +++ b/package.json @@ -12,28 +12,28 @@ }, "scripts": {}, "dependencies": { - "@angular/animations": "18.2.6", - "@angular/cdk": "18.2.6", - "@angular/common": "18.2.6", - "@angular/core": "18.2.6", - "@angular/forms": "18.2.6", - "@angular/material": "18.2.6", - "@angular/platform-browser": "18.2.6", - "@angular/router": "18.2.6", + "@angular/animations": "18.2.13", + "@angular/cdk": "18.2.14", + "@angular/common": "18.2.13", + "@angular/core": "18.2.13", + "@angular/forms": "18.2.13", + "@angular/material": "18.2.14", + "@angular/platform-browser": "18.2.13", + "@angular/router": "18.2.13", "@flowjs/flow.js": "^2.14.1", - "@flowjs/ngx-flow": "~0.8.1", + "@flowjs/ngx-flow": "18.0.1", "@fullcalendar/angular": "^6.1.15", "@iplab/ngx-color-picker": "^18.0.1", "@mat-datetimepicker/core": "~14.0.0", - "@ngrx/store": "^18.0.2", + "@ngrx/store": "^18.1.1", "@ngx-translate/core": "^15.0.0", "@tinymce/tinymce-angular": "^8.0.1", "dayjs": "1.11.13", "@types/canvas-gauges": "^2.1.8", "@types/flot": "^0.0.36", - "@types/jquery": "^3.5.31", + "@types/jquery": "^3.5.32", "@types/js-beautify": "^1.14.3", - "@types/node": "~18.15.11", + "@types/node": "~20.17.8", "@types/tinycolor2": "^1.4.6", "@types/tooltipster": "^0.0.35", "angular-gridster2": "~18.0.1", @@ -49,7 +49,7 @@ "ngx-flowchart": "https://github.com/thingsboard/ngx-flowchart.git#release/3.0.0", "ngx-hm-carousel": "^18.0.0", "ngx-markdown": "^18.1.0", - "ngx-sharebuttons": "^15.0.3", + "ngx-sharebuttons": "^15.0.6", "rxjs": "~7.8.1", "ts-node": "^10.9.2", "zone.js": "~0.14.10" diff --git a/src/app/core/api/alias-controller.d.ts b/src/app/core/api/alias-controller.d.ts index f762a111..71c2cbae 100644 --- a/src/app/core/api/alias-controller.d.ts +++ b/src/app/core/api/alias-controller.d.ts @@ -30,6 +30,12 @@ export declare class AliasController implements IAliasController { resolvedAliasesObservable: { [aliasId: string]: Observable; }; + resolvedDevices: { + [deviceId: string]: EntityInfo; + }; + resolvedDevicesObservable: { + [deviceId: string]: Observable; + }; resolvedAliasesToStateEntities: { [aliasId: string]: StateEntityInfo; }; diff --git a/src/app/core/api/entity-data-subscription.d.ts b/src/app/core/api/entity-data-subscription.d.ts index 4dbf2fb2..c520580c 100644 --- a/src/app/core/api/entity-data-subscription.d.ts +++ b/src/app/core/api/entity-data-subscription.d.ts @@ -6,6 +6,8 @@ import { UtilsService } from '@core/services/utils.service'; import { EntityDataListener, EntityDataLoadResult } from '@core/api/entity-data.service'; import { Observable } from 'rxjs'; import { TelemetryWebsocketService } from '@core/ws/telemetry-websocket.service'; +import { CompiledTbFunction, TbFunction } from '@shared/models/js-function.models'; +import { HttpClient } from '@angular/common/http'; declare type DataKeyFunction = (time: number, prevValue: any) => any; declare type DataKeyPostFunction = (time: number, value: any, prevValue: any, timePrev: number, prevOrigValue: any) => any; export interface SubscriptionDataKey { @@ -16,10 +18,10 @@ export interface SubscriptionDataKey { timeForComparison?: ComparisonDuration; comparisonCustomIntervalValue?: number; comparisonResultType?: ComparisonResultType; - funcBody: string; - func?: DataKeyFunction; - postFuncBody: string; - postFunc?: DataKeyPostFunction; + funcBody: TbFunction; + func?: CompiledTbFunction; + postFuncBody: TbFunction; + postFunc?: CompiledTbFunction; index?: number; listIndex?: number; key?: string; @@ -44,7 +46,8 @@ export declare class EntityDataSubscription { private listener; private telemetryService; private utils; - constructor(listener: EntityDataListener, telemetryService: TelemetryWebsocketService, utils: UtilsService); + private http; + constructor(listener: EntityDataListener, telemetryService: TelemetryWebsocketService, utils: UtilsService, http: HttpClient); private entityDataSubscriptionOptions; private datasourceType; private history; diff --git a/src/app/core/api/entity-data.service.d.ts b/src/app/core/api/entity-data.service.d.ts index e1215515..b02b41fd 100644 --- a/src/app/core/api/entity-data.service.d.ts +++ b/src/app/core/api/entity-data.service.d.ts @@ -6,6 +6,7 @@ import { TelemetryWebsocketService } from '@core/ws/telemetry-websocket.service' import { UtilsService } from '@core/services/utils.service'; import { EntityDataSubscription, EntityDataSubscriptionOptions } from '@core/api/entity-data-subscription'; import { Observable } from 'rxjs'; +import { HttpClient } from '@angular/common/http'; import * as i0 from "@angular/core"; export interface EntityDataListener { subscriptionType: widgetType; @@ -32,7 +33,8 @@ export interface EntityDataLoadResult { export declare class EntityDataService { private telemetryService; private utils; - constructor(telemetryService: TelemetryWebsocketService, utils: UtilsService); + private http; + constructor(telemetryService: TelemetryWebsocketService, utils: UtilsService, http: HttpClient); private static isUnresolvedDatasource; private static toSubscriptionDataKey; prepareSubscription(listener: EntityDataListener, ignoreDataUpdateOnIntervalTick?: boolean): Observable; diff --git a/src/app/core/auth/auth.models.d.ts b/src/app/core/auth/auth.models.d.ts index 387acc03..b3dd3e5b 100644 --- a/src/app/core/auth/auth.models.d.ts +++ b/src/app/core/auth/auth.models.d.ts @@ -12,6 +12,10 @@ export interface SysParamsState { mobileQrEnabled: boolean; userSettings: UserSettings; maxResourceSize: number; + maxDebugModeDurationMinutes: number; + ruleChainDebugPerTenantLimitsConfiguration?: string; + integrationDebugPerTenantLimitsConfiguration?: string; + converterDebugPerTenantLimitsConfiguration?: string; availableLocales: string[]; } export interface SysParams extends SysParamsState { diff --git a/src/app/core/auth/auth.service.d.ts b/src/app/core/auth/auth.service.d.ts index 607eb900..b179cf66 100644 --- a/src/app/core/auth/auth.service.d.ts +++ b/src/app/core/auth/auth.service.d.ts @@ -32,7 +32,8 @@ export declare class AuthService { private utils; private translate; private dialog; - constructor(store: Store, http: HttpClient, userService: UserService, whiteLabelingService: WhiteLabelingService, customMenuService: CustomMenuService, userPermissionsService: UserPermissionsService, timeService: TimeService, router: Router, zone: NgZone, utils: UtilsService, translate: TranslateService, dialog: MatDialog); + private document; + constructor(store: Store, http: HttpClient, userService: UserService, whiteLabelingService: WhiteLabelingService, customMenuService: CustomMenuService, userPermissionsService: UserPermissionsService, timeService: TimeService, router: Router, zone: NgZone, utils: UtilsService, translate: TranslateService, dialog: MatDialog, document: Document); redirectUrl: string; oauth2Clients: Array; twoFactorAuthProviders: Array; diff --git a/src/app/core/http/dashboard.service.d.ts b/src/app/core/http/dashboard.service.d.ts index 1d1a994b..e393b188 100644 --- a/src/app/core/http/dashboard.service.d.ts +++ b/src/app/core/http/dashboard.service.d.ts @@ -23,7 +23,7 @@ export declare class DashboardService { getCustomerDashboards(includeCustomers: boolean, customerId: string, pageLink: PageLink, config?: RequestConfig): Observable>; getGroupDashboards(groupId: string, pageLink: PageLink, config?: RequestConfig): Observable>; getDashboard(dashboardId: string, config?: RequestConfig): Observable; - exportDashboard(dashboardId: string, config?: RequestConfig): Observable; + exportDashboard(dashboardId: string, includeResources?: boolean, config?: RequestConfig): Observable; getDashboardInfo(dashboardId: string, config?: RequestConfig): Observable; saveDashboard(dashboard: Dashboard, entityGroupIds?: string | string[], config?: RequestConfig): Observable; deleteDashboard(dashboardId: string, config?: RequestConfig): Observable; diff --git a/src/app/core/http/domain.service.d.ts b/src/app/core/http/domain.service.d.ts index 638d4010..8eafb4c9 100644 --- a/src/app/core/http/domain.service.d.ts +++ b/src/app/core/http/domain.service.d.ts @@ -10,7 +10,7 @@ export declare class DomainService { constructor(http: HttpClient); saveDomain(domain: Domain, oauth2ClientIds: Array, config?: RequestConfig): Observable; updateOauth2Clients(id: string, oauth2ClientIds: Array, config?: RequestConfig): Observable; - getTenantDomainInfos(pageLink: PageLink, config?: RequestConfig): Observable>; + getDomainInfos(pageLink: PageLink, config?: RequestConfig): Observable>; getDomainInfoById(id: string, config?: RequestConfig): Observable; deleteDomain(id: string, config?: RequestConfig): Observable; static ɵfac: i0.ɵɵFactoryDeclaration; diff --git a/src/app/core/http/entity.service.d.ts b/src/app/core/http/entity.service.d.ts index 1b6dcc3d..0f05da8e 100644 --- a/src/app/core/http/entity.service.d.ts +++ b/src/app/core/http/entity.service.d.ts @@ -47,6 +47,8 @@ import { TenantProfileService } from '@core/http/tenant-profile.service'; import { AlarmService } from '@core/http/alarm.service'; import { ResourceService } from '@core/http/resource.service'; import { OAuth2Service } from '@core/http/oauth2.service'; +import { MobileAppService } from '@core/http/mobile-app.service'; +import { DomainService } from '@core/http/domain.service'; import * as i0 from "@angular/core"; export declare class EntityService { private http; @@ -80,7 +82,9 @@ export declare class EntityService { private alarmService; private resourceService; private oauth2Service; - constructor(http: HttpClient, store: Store, deviceService: DeviceService, assetService: AssetService, entityViewService: EntityViewService, edgeService: EdgeService, tenantService: TenantService, customerService: CustomerService, userService: UserService, ruleChainService: RuleChainService, dashboardService: DashboardService, entityRelationService: EntityRelationService, attributeService: AttributeService, otaPackageService: OtaPackageService, widgetService: WidgetService, deviceProfileService: DeviceProfileService, tenantProfileService: TenantProfileService, assetProfileService: AssetProfileService, converterService: ConverterService, integrationService: IntegrationService, schedulerEventService: SchedulerEventService, blobEntityService: BlobEntityService, roleService: RoleService, entityGroupService: EntityGroupService, userPermissionsService: UserPermissionsService, utils: UtilsService, queueService: QueueService, notificationService: NotificationService, alarmService: AlarmService, resourceService: ResourceService, oauth2Service: OAuth2Service); + private mobileAppService; + private domainService; + constructor(http: HttpClient, store: Store, deviceService: DeviceService, assetService: AssetService, entityViewService: EntityViewService, edgeService: EdgeService, tenantService: TenantService, customerService: CustomerService, userService: UserService, ruleChainService: RuleChainService, dashboardService: DashboardService, entityRelationService: EntityRelationService, attributeService: AttributeService, otaPackageService: OtaPackageService, widgetService: WidgetService, deviceProfileService: DeviceProfileService, tenantProfileService: TenantProfileService, assetProfileService: AssetProfileService, converterService: ConverterService, integrationService: IntegrationService, schedulerEventService: SchedulerEventService, blobEntityService: BlobEntityService, roleService: RoleService, entityGroupService: EntityGroupService, userPermissionsService: UserPermissionsService, utils: UtilsService, queueService: QueueService, notificationService: NotificationService, alarmService: AlarmService, resourceService: ResourceService, oauth2Service: OAuth2Service, mobileAppService: MobileAppService, domainService: DomainService); private getEntityObservable; private saveEntityObservable; getEntity(entityType: EntityType, entityId: string, config?: RequestConfig): Observable>; diff --git a/src/app/core/http/mobile-app.service.d.ts b/src/app/core/http/mobile-app.service.d.ts index 8158bf75..0513b5fb 100644 --- a/src/app/core/http/mobile-app.service.d.ts +++ b/src/app/core/http/mobile-app.service.d.ts @@ -1,18 +1,23 @@ import { HttpClient } from '@angular/common/http'; import { RequestConfig } from '@core/http/http-utils'; import { Observable } from 'rxjs'; -import { MobileApp, MobileAppInfo } from '@shared/models/oauth2.models'; import { PageLink } from '@shared/models/page/page-link'; import { PageData } from '@shared/models/page/page-data'; +import { MobileApp, MobileAppBundle, MobileAppBundleInfo } from '@shared/models/mobile-app.models'; +import { PlatformType } from '@shared/models/oauth2.models'; import * as i0 from "@angular/core"; export declare class MobileAppService { private http; constructor(http: HttpClient); - saveMobileApp(mobileApp: MobileApp, oauth2ClientIds: Array, config?: RequestConfig): Observable; - updateOauth2Clients(id: string, oauth2ClientRegistrationIds: Array, config?: RequestConfig): Observable; - getTenantMobileAppInfos(pageLink: PageLink, config?: RequestConfig): Observable>; - getMobileAppInfoById(id: string, config?: RequestConfig): Observable; + saveMobileApp(mobileApp: MobileApp, config?: RequestConfig): Observable; + getTenantMobileAppInfos(pageLink: PageLink, platformType?: PlatformType, config?: RequestConfig): Observable>; + getMobileAppInfoById(id: string, config?: RequestConfig): Observable; deleteMobileApp(id: string, config?: RequestConfig): Observable; + saveMobileAppBundle(mobileAppBundle: MobileAppBundle, oauth2ClientIds?: Array, config?: RequestConfig): Observable; + updateOauth2Clients(id: string, oauth2ClientIds: Array, config?: RequestConfig): Observable; + getTenantMobileAppBundleInfos(pageLink: PageLink, config?: RequestConfig): Observable>; + getMobileAppBundleInfoById(id: string, config?: RequestConfig): Observable; + deleteMobileAppBundle(id: string, config?: RequestConfig): Observable; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } diff --git a/src/app/core/http/mobile-application.service.d.ts b/src/app/core/http/mobile-application.service.d.ts index 6091f97a..2f87c7b5 100644 --- a/src/app/core/http/mobile-application.service.d.ts +++ b/src/app/core/http/mobile-application.service.d.ts @@ -1,14 +1,14 @@ import { HttpClient } from '@angular/common/http'; import { RequestConfig } from '@core/http/http-utils'; import { Observable } from 'rxjs'; -import { MobileAppSettings } from '@shared/models/mobile-app.models'; +import { QrCodeSettings } from '@shared/models/mobile-app.models'; import * as i0 from "@angular/core"; export declare class MobileApplicationService { private http; constructor(http: HttpClient); - getMobileAppSettings(config?: RequestConfig): Observable; - getMergedMobileAppSettings(config?: RequestConfig): Observable; - saveMobileAppSettings(mobileAppSettings: MobileAppSettings, config?: RequestConfig): Observable; + getMobileAppSettings(config?: RequestConfig): Observable; + getMergedMobileAppSettings(config?: RequestConfig): Observable; + saveMobileAppSettings(mobileAppSettings: QrCodeSettings, config?: RequestConfig): Observable; getMobileAppDeepLink(config?: RequestConfig): Observable; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; diff --git a/src/app/core/http/resource.service.d.ts b/src/app/core/http/resource.service.d.ts index cb121770..9e0868d8 100644 --- a/src/app/core/http/resource.service.d.ts +++ b/src/app/core/http/resource.service.d.ts @@ -3,17 +3,18 @@ import { PageLink } from '@shared/models/page/page-link'; import { RequestConfig } from '@core/http/http-utils'; import { Observable } from 'rxjs'; import { PageData } from '@shared/models/page/page-data'; -import { Resource, ResourceInfo, ResourceType } from '@shared/models/resource.models'; +import { Resource, ResourceInfo, ResourceSubType, ResourceType, TBResourceScope } from '@shared/models/resource.models'; import { ResourcesService } from '@core/services/resources.service'; import * as i0 from "@angular/core"; export declare class ResourceService { private http; private resourcesService; constructor(http: HttpClient, resourcesService: ResourcesService); - getResources(pageLink: PageLink, resourceType?: ResourceType, config?: RequestConfig): Observable>; + getResources(pageLink: PageLink, resourceType?: ResourceType, resourceSubType?: ResourceSubType, config?: RequestConfig): Observable>; getTenantResources(pageLink: PageLink, config?: RequestConfig): Observable>; getResource(resourceId: string, config?: RequestConfig): Observable; - getResourceInfo(resourceId: string, config?: RequestConfig): Observable; + getResourceInfoById(resourceId: string, config?: RequestConfig): Observable; + getResourceInfo(type: ResourceType, scope: TBResourceScope, key: string, config?: RequestConfig): Observable; downloadResource(resourceId: string): Observable; saveResources(resources: Resource[], config?: RequestConfig): Observable; saveResource(resource: Resource, config?: RequestConfig): Observable; diff --git a/src/app/core/http/self-register.service.d.ts b/src/app/core/http/self-register.service.d.ts index 7987b219..b220608e 100644 --- a/src/app/core/http/self-register.service.d.ts +++ b/src/app/core/http/self-register.service.d.ts @@ -1,5 +1,5 @@ import { HttpClient } from '@angular/common/http'; -import { SelfRegistrationParams, SignUpSelfRegistrationParams } from '@shared/models/self-register.models'; +import { SignUpSelfRegistrationParams, WebSelfRegistrationParams } from '@shared/models/self-register.models'; import { Observable } from 'rxjs'; import { Router } from '@angular/router'; import { RequestConfig } from '@core/http/http-utils'; @@ -14,9 +14,9 @@ export declare class SelfRegistrationService { loadPrivacyPolicy(): Observable; loadTermsOfUse(): Observable; isAvailablePage(): Observable; - saveSelfRegistrationParams(selfRegistrationParams: SelfRegistrationParams, config?: RequestConfig): Observable; - getSelfRegistrationParams(config?: RequestConfig): Observable; - deleteSelfRegistrationParams(domainName: string, config?: RequestConfig): Observable; + saveSelfRegistrationParams(selfRegistrationParams: WebSelfRegistrationParams, config?: RequestConfig): Observable; + getSelfRegistrationParams(config?: RequestConfig): Observable; + deleteSelfRegistrationParams(config?: RequestConfig): Observable; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } diff --git a/src/app/core/http/white-labeling.service.d.ts b/src/app/core/http/white-labeling.service.d.ts index ad52cdb8..54ad91d4 100644 --- a/src/app/core/http/white-labeling.service.d.ts +++ b/src/app/core/http/white-labeling.service.d.ts @@ -80,6 +80,8 @@ export declare class WhiteLabelingService { getCurrentLoginWhiteLabelParams(): Observable; saveWhiteLabelParams(wlParams: WhiteLabelingParams): Observable; saveLoginWhiteLabelParams(wlParams: LoginWhiteLabelingParams): Observable; + deleteCurrentLoginWhiteLabelParams(config?: RequestConfig): Observable; + deleteCurrentWhiteLabelParams(config?: RequestConfig): Observable; isWhiteLabelingAllowed(): Observable; isCustomerWhiteLabelingAllowed(): Observable; saveMailTemplates(mailTemplates: MailTemplatesSettings, config?: RequestConfig): Observable; diff --git a/src/app/core/http/widget.service.d.ts b/src/app/core/http/widget.service.d.ts index 5fa55dda..7cf3b31e 100644 --- a/src/app/core/http/widget.service.d.ts +++ b/src/app/core/http/widget.service.d.ts @@ -5,7 +5,6 @@ import { PageLink } from '@shared/models/page/page-link'; import { PageData } from '@shared/models/page/page-data'; import { WidgetsBundle } from '@shared/models/widgets-bundle.model'; import { DeprecatedFilter, WidgetType, widgetType, WidgetTypeDetails, WidgetTypeInfo } from '@shared/models/widget.models'; -import { TranslateService } from '@ngx-translate/core'; import { WidgetInfo } from '@app/modules/home/models/widget-component.models'; import { WidgetTypeId } from '@shared/models/id/widget-type-id'; import { Router } from '@angular/router'; @@ -14,14 +13,13 @@ import * as i0 from "@angular/core"; export declare class WidgetService { private http; private userPermissionsService; - private translate; private router; private allWidgetsBundles; private systemWidgetsBundles; private tenantWidgetsBundles; private widgetsInfoInMemoryCache; private widgetsBundleCacheSubject; - constructor(http: HttpClient, userPermissionsService: UserPermissionsService, translate: TranslateService, router: Router); + constructor(http: HttpClient, userPermissionsService: UserPermissionsService, router: Router); getWidgetScopeVariables(): string[]; getAllWidgetsBundles(config?: RequestConfig): Observable>; getSystemWidgetsBundles(config?: RequestConfig): Observable>; @@ -35,7 +33,7 @@ export declare class WidgetService { updateWidgetsBundleWidgetFqns(widgetsBundleId: string, widgetTypeFqns: Array, config?: RequestConfig): Observable; deleteWidgetsBundle(widgetsBundleId: string, config?: RequestConfig): Observable; getBundleWidgetTypes(widgetsBundleId: string, config?: RequestConfig): Observable>; - exportBundleWidgetTypesDetails(widgetsBundleId: string, config?: RequestConfig): Observable>; + exportBundleWidgetTypesDetails(widgetsBundleId: string, includeResources?: boolean, config?: RequestConfig): Observable>; getBundleWidgetTypeFqns(widgetsBundleId: string, config?: RequestConfig): Observable>; getBundleWidgetTypeInfosList(widgetsBundleId: string, config?: RequestConfig): Observable>; getBundleWidgetTypeInfos(pageLink: PageLink, widgetsBundleId: string, fullSearch?: boolean, deprecatedFilter?: DeprecatedFilter, widgetTypes?: Array, config?: RequestConfig): Observable>; @@ -43,7 +41,7 @@ export declare class WidgetService { saveWidgetTypeDetails(widgetInfo: WidgetInfo, id: WidgetTypeId, createdTime: number, version: number, config?: RequestConfig): Observable; saveImportedWidgetTypeDetails(widgetTypeDetails: WidgetTypeDetails, config?: RequestConfig): Observable; getWidgetTypeById(widgetTypeId: string, config?: RequestConfig): Observable; - exportWidgetType(widgetTypeId: string, config?: RequestConfig): Observable; + exportWidgetType(widgetTypeId: string, includeResources?: boolean, config?: RequestConfig): Observable; getWidgetTypeInfoById(widgetTypeId: string, config?: RequestConfig): Observable; saveWidgetType(widgetTypeDetails: WidgetTypeDetails, config?: RequestConfig): Observable; deleteWidgetType(widgetTypeId: string, config?: RequestConfig): Observable; diff --git a/src/app/core/interceptors/entity-conflict.interceptor.d.ts b/src/app/core/interceptors/entity-conflict.interceptor.d.ts index 1c544aa1..4ed2d13e 100644 --- a/src/app/core/interceptors/entity-conflict.interceptor.d.ts +++ b/src/app/core/interceptors/entity-conflict.interceptor.d.ts @@ -1,15 +1,15 @@ import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http'; import { Observable } from 'rxjs'; import { MatDialog } from '@angular/material/dialog'; -import { HasId } from '@shared/models/base-data'; -import { HasVersion } from '@shared/models/entity.models'; +import { VersionedEntity } from '@shared/models/entity.models'; import * as i0 from "@angular/core"; export declare class EntityConflictInterceptor implements HttpInterceptor { private dialog; constructor(dialog: MatDialog); - intercept(request: HttpRequest, next: HttpHandler): Observable>; + intercept(request: HttpRequest, next: HttpHandler): Observable>; private handleConflictError; private updateRequestVersion; + private isVersionedEntity; private openConflictDialog; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; diff --git a/src/app/core/services/menu.models.d.ts b/src/app/core/services/menu.models.d.ts index a4c9f8be..59ea649f 100644 --- a/src/app/core/services/menu.models.d.ts +++ b/src/app/core/services/menu.models.d.ts @@ -51,12 +51,17 @@ export declare enum MenuId { images = "images", scada_symbols = "scada_symbols", resources_library = "resources_library", + javascript_library = "javascript_library", notifications_center = "notifications_center", notification_inbox = "notification_inbox", notification_sent = "notification_sent", notification_recipients = "notification_recipients", notification_templates = "notification_templates", notification_rules = "notification_rules", + mobile_center = "mobile_center", + mobile_apps = "mobile_apps", + mobile_bundles = "mobile_bundles", + mobile_qr_code_widget = "mobile_qr_code_widget", settings = "settings", general = "general", mail_server = "mail_server", @@ -65,13 +70,11 @@ export declare enum MenuId { repository_settings = "repository_settings", auto_commit_settings = "auto_commit_settings", queues = "queues", - mobile_app_settings = "mobile_app_settings", security_settings = "security_settings", security_settings_general = "security_settings_general", two_fa = "two_fa", oauth2 = "oauth2", domains = "domains", - mobile_apps = "mobile_apps", clients = "clients", audit_log = "audit_log", alarms = "alarms", diff --git a/src/app/core/settings/settings.effects.d.ts b/src/app/core/settings/settings.effects.d.ts index 9da181e2..44470a24 100644 --- a/src/app/core/settings/settings.effects.d.ts +++ b/src/app/core/settings/settings.effects.d.ts @@ -18,10 +18,11 @@ export declare class SettingsEffects { private router; private localStorageService; private titleService; - private faviconService; private translate; + private document; + private faviconService; private reportService; - constructor(actions$: Actions, store: Store, utils: UtilsService, router: Router, localStorageService: LocalStorageService, titleService: TitleService, faviconService: FaviconService, translate: TranslateService, reportService: ReportService); + constructor(actions$: Actions, store: Store, utils: UtilsService, router: Router, localStorageService: LocalStorageService, titleService: TitleService, translate: TranslateService, document: Document, faviconService: FaviconService, reportService: ReportService); setTranslateServiceLanguage: import("rxjs").Observable<[import("./settings.actions").ActionSettingsChangeLanguage, import("./settings.models").SettingsState]> & import("@ngrx/effects").CreateEffectMetadata; setTitle: import("rxjs").Observable & import("@ngrx/effects").CreateEffectMetadata; setFavicon: import("rxjs").Observable & import("@ngrx/effects").CreateEffectMetadata; diff --git a/src/app/core/settings/settings.utils.d.ts b/src/app/core/settings/settings.utils.d.ts index fce7d41d..70b6d256 100644 --- a/src/app/core/settings/settings.utils.d.ts +++ b/src/app/core/settings/settings.utils.d.ts @@ -1,3 +1,3 @@ import { TranslateService } from '@ngx-translate/core'; import { Observable } from 'rxjs'; -export declare function updateUserLang(translate: TranslateService, userLang: string, translations?: any, reload?: boolean): Observable; +export declare function updateUserLang(translate: TranslateService, document: Document, userLang: string, translations?: any, reload?: boolean): Observable; diff --git a/src/app/core/utils.d.ts b/src/app/core/utils.d.ts index 0bb6c261..377f5e85 100644 --- a/src/app/core/utils.d.ts +++ b/src/app/core/utils.d.ts @@ -1,11 +1,12 @@ -import { Observable } from 'rxjs'; import { Type } from '@angular/core'; +import { Observable } from 'rxjs'; import { Datasource, DatasourceData, FormattedData, ReplaceInfo } from '@app/shared/models/widget.models'; import { EntityId } from '@shared/models/id/entity-id'; import { EntityType } from '@shared/models/entity-type.models'; -import { HttpErrorResponse } from '@angular/common/http'; +import { HttpClient, HttpErrorResponse } from '@angular/common/http'; import { TranslateService } from '@ngx-translate/core'; import { SubscriptionEntityInfo } from '@core/api/widget-api.models'; +import { CompiledTbFunction, GenericFunction, TbFunction } from '@shared/models/js-function.models'; export declare function onParentScrollOrWindowResize(el: Node): Observable; export declare function isLocalUrl(url: string): boolean; export declare function animatedScroll(element: HTMLElement, scrollTop: number, delay?: number): void; @@ -67,7 +68,8 @@ export declare function processDataPattern(pattern: string, data: FormattedData) export declare function fillDataPattern(pattern: string, replaceInfo: Array, data: FormattedData): string; export declare function createLabelFromPattern(pattern: string, data: FormattedData): string; export declare function parseFunction(source: any, params?: string[]): (...args: any[]) => any; -export declare function safeExecute(func: (...args: any[]) => any, params?: any[]): any; +export declare function parseTbFunction(http: HttpClient, source: TbFunction, params?: string[]): Observable>; +export declare function safeExecuteTbFunction(func: CompiledTbFunction, params?: any[]): any; export declare function padValue(val: any, dec: number): string; export declare function removeEmptyObjects(obj: object): object; export declare function baseUrl(): string; @@ -91,3 +93,4 @@ export declare const isFirefox: () => boolean; export declare const plainColorFromVariable: (variable: string) => string; export declare const camelCase: (str: string) => string; export declare const convertKeysToCamelCase: (obj: Record) => Record; +export declare const unwrapModule: (module: any) => any; diff --git a/src/app/modules/common/modules-map.ts b/src/app/modules/common/modules-map.ts index b13bf1ee..17bfc0ec 100644 --- a/src/app/modules/common/modules-map.ts +++ b/src/app/modules/common/modules-map.ts @@ -116,7 +116,6 @@ import * as TruncateWithTooltipDirective from '@shared/directives/truncate-with- import * as coercion from '@shared/decorators/coercion'; import * as enumerable from '@shared/decorators/enumerable'; -import * as TbInject from '@shared/decorators/tb-inject'; import * as FooterComponent from '@shared/components/footer.component'; import * as LogoComponent from '@shared/components/logo.component'; @@ -388,13 +387,17 @@ import * as AssetProfileComponent from '@home/components/profile/asset-profile.c import * as AssetProfileDialogComponent from '@home/components/profile/asset-profile-dialog.component'; import * as AssetProfileAutocompleteComponent from '@home/components/profile/asset-profile-autocomplete.component'; import * as RuleChainSelectComponent from '@shared/components/rule-chain/rule-chain-select.component'; +import * as TimezoneComponent from '@shared/components/time/timezone.component'; +import * as TimezonePanelComponent from '@shared/components/time/timezone-panel.component'; +import * as DatapointsLimitComponent from '@shared/components/time/datapoints-limit.component'; +import * as AggregationTypeSelectComponent from '@shared/components/time/aggregation/aggregation-type-select.component'; +import * as AggregationOptionsConfigComponent from '@shared/components/time/aggregation/aggregation-options-config-panel.component'; +import * as IntervalOptionsConfigPanelComponent from '@shared/components/time/interval-options-config-panel.component'; import { IModulesMap } from '@modules/common/modules-map.models'; -import { TimezoneComponent } from '@shared/components/time/timezone.component'; -import { TimezonePanelComponent } from '@shared/components/time/timezone-panel.component'; -import { DatapointsLimitComponent } from '@shared/components/time/datapoints-limit.component'; import { Observable, map, of } from 'rxjs'; import { getFlexLayout } from '@shared/legacy/flex-layout.models'; +import { isJSResourceUrl } from '@shared/public-api'; class ModulesMap implements IModulesMap { @@ -489,7 +492,6 @@ class ModulesMap implements IModulesMap { '@shared/decorators/coercion': coercion, '@shared/decorators/enumerable': enumerable, - '@shared/decorators/tb-inject': TbInject, '@shared/import-export/import-export.service': ImportExportService, '@shared/import-export/import-dialog.component': ImportDialogComponent, @@ -528,7 +530,10 @@ class ModulesMap implements IModulesMap { '@shared/components/time/timezone-select.component': TimezoneSelectComponent, '@shared/components/time/timezone.component': TimezoneComponent, '@shared/components/time/timezone-panel.component': TimezonePanelComponent, - '@shared/components/time/datapoints-limit': DatapointsLimitComponent, + '@shared/components/time/datapoints-limit.component': DatapointsLimitComponent, + '@shared/components/time/aggregation/aggregation-type-select.component': AggregationTypeSelectComponent, + '@shared/components/time/aggregation/aggregation-options-config-panel.component': AggregationOptionsConfigComponent, + '@shared/components/time/interval-options-config-panel.component': IntervalOptionsConfigPanelComponent, '@shared/components/value-input.component': ValueInputComponent, '@shared/components/dashboard-autocomplete.component': DashboardAutocompleteComponent, '@shared/components/entity/entity-subtype-autocomplete.component': EntitySubTypeAutocompleteComponent, @@ -792,7 +797,7 @@ class ModulesMap implements IModulesMap { for (const moduleId of Object.keys(this.modulesMap)) { System.set('app:' + moduleId, this.modulesMap[moduleId]); } - System.constructor.prototype.shouldFetch = (url: string) => url.endsWith('/download'); + System.constructor.prototype.shouldFetch = (url: string) => url.endsWith('/download') || isJSResourceUrl(url); System.constructor.prototype.fetch = (url: string, options: RequestInit & {meta?: any}) => { if (options?.meta?.additionalHeaders) { options.headers = { ...options.headers, ...options.meta.additionalHeaders }; diff --git a/src/app/modules/home/components/alarm/alarm-comment.component.d.ts b/src/app/modules/home/components/alarm/alarm-comment.component.d.ts index 5920e33e..818bf6da 100644 --- a/src/app/modules/home/components/alarm/alarm-comment.component.d.ts +++ b/src/app/modules/home/components/alarm/alarm-comment.component.d.ts @@ -69,6 +69,8 @@ export declare class AlarmCommentComponent implements OnInit { getCurrentUserBgColor(userDisplayName: string): string; getAlarmCommentFormControl(): AbstractControl; getAlarmCommentEditFormControl(): AbstractControl; + getAlarmCommentValue(): string; + private getAlarmCommentEditValue; private clearCommentInput; private clearCommentEditInput; private getAlarmCommentById; diff --git a/src/app/modules/home/components/alias/entity-alias-select.component.d.ts b/src/app/modules/home/components/alias/entity-alias-select.component.d.ts index f953e68b..ecbc0263 100644 --- a/src/app/modules/home/components/alias/entity-alias-select.component.d.ts +++ b/src/app/modules/home/components/alias/entity-alias-select.component.d.ts @@ -1,8 +1,6 @@ -import { AfterViewInit, ElementRef, OnInit } from '@angular/core'; -import { ControlValueAccessor, UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, FormGroupDirective, NgForm } from '@angular/forms'; +import { ElementRef, OnInit } from '@angular/core'; +import { ControlValueAccessor, FormBuilder, FormControl, FormGroup, FormGroupDirective, NgForm } from '@angular/forms'; import { Observable } from 'rxjs'; -import { Store } from '@ngrx/store'; -import { AppState } from '@app/core/core.state'; import { TranslateService } from '@ngx-translate/core'; import { EntityType } from '@shared/models/entity-type.models'; import { EntityService } from '@core/http/entity.service'; @@ -13,14 +11,13 @@ import { MatAutocomplete, MatAutocompleteTrigger } from '@angular/material/autoc import { EntityAliasSelectCallbacks } from './entity-alias-select.component.models'; import { ErrorStateMatcher } from '@angular/material/core'; import * as i0 from "@angular/core"; -export declare class EntityAliasSelectComponent implements ControlValueAccessor, OnInit, AfterViewInit, ErrorStateMatcher { - private store; +export declare class EntityAliasSelectComponent implements ControlValueAccessor, OnInit, ErrorStateMatcher { private errorStateMatcher; private entityService; translate: TranslateService; truncate: TruncatePipe; private fb; - selectEntityAliasFormGroup: UntypedFormGroup; + selectEntityAliasFormGroup: FormGroup; modelValue: string | null; aliasController: IAliasController; allowedEntityTypes: Array; @@ -28,23 +25,19 @@ export declare class EntityAliasSelectComponent implements ControlValueAccessor, showLabel: boolean; entityAliasAutocomplete: MatAutocomplete; autoCompleteTrigger: MatAutocompleteTrigger; - private requiredValue; - get tbRequired(): boolean; - set tbRequired(value: boolean); + tbRequired: boolean; disabled: boolean; entityAliasInput: ElementRef; entityAliasList: Array; filteredEntityAliases: Observable>; searchText: string; private dirty; - private creatingEntityAlias; private propagateChange; - constructor(store: Store, errorStateMatcher: ErrorStateMatcher, entityService: EntityService, translate: TranslateService, truncate: TruncatePipe, fb: UntypedFormBuilder); + constructor(errorStateMatcher: ErrorStateMatcher, entityService: EntityService, translate: TranslateService, truncate: TruncatePipe, fb: FormBuilder); registerOnChange(fn: any): void; - registerOnTouched(fn: any): void; + registerOnTouched(_fn: any): void; ngOnInit(): void; - isErrorState(control: UntypedFormControl | null, form: FormGroupDirective | NgForm | null): boolean; - ngAfterViewInit(): void; + isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean; setDisabledState(isDisabled: boolean): void; writeValue(value: string | null): void; onFocus(): void; @@ -54,7 +47,8 @@ export declare class EntityAliasSelectComponent implements ControlValueAccessor, clear(value?: string): void; textIsNotEmpty(text: string): boolean; entityAliasEnter($event: KeyboardEvent): void; + editEntityAlias($event: Event): void; createEntityAlias($event: Event, alias: string, focusOnCancel?: boolean): void; - static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } diff --git a/src/app/modules/home/components/alias/entity-alias-select.component.models.d.ts b/src/app/modules/home/components/alias/entity-alias-select.component.models.d.ts index 4c2f8ed7..2a4e4b85 100644 --- a/src/app/modules/home/components/alias/entity-alias-select.component.models.d.ts +++ b/src/app/modules/home/components/alias/entity-alias-select.component.models.d.ts @@ -3,4 +3,5 @@ import { Observable } from 'rxjs'; import { EntityAlias } from '@shared/models/alias.models'; export interface EntityAliasSelectCallbacks { createEntityAlias: (alias: string, allowedEntityTypes: Array) => Observable; + editEntityAlias: (alias: EntityAlias, allowedEntityTypes: Array) => Observable; } diff --git a/src/app/modules/home/components/converter/converter.component.d.ts b/src/app/modules/home/components/converter/converter.component.d.ts index e2bb795a..008ffa0e 100644 --- a/src/app/modules/home/components/converter/converter.component.d.ts +++ b/src/app/modules/home/components/converter/converter.component.d.ts @@ -39,6 +39,7 @@ export declare class ConverterComponent extends EntityComponent imple converterTypeTranslations: Map; tbelEnabled: boolean; scriptLanguage: typeof ScriptLanguage; + readonly converterDebugPerTenantLimitsConfiguration: string; private defaultUpdateOnlyKeysByIntegrationType; private destroy$; constructor(store: Store, translate: TranslateService, converterService: ConverterService, dialog: MatDialog, resourcesService: ResourcesService, converterLibraryService: ConverterLibraryService, entityValue: Converter, entitiesTableConfigValue: EntityTableConfig, fb: FormBuilder, cd: ChangeDetectorRef); diff --git a/src/app/modules/home/components/debug-settings/debug-settings-button.component.d.ts b/src/app/modules/home/components/debug-settings/debug-settings-button.component.d.ts new file mode 100644 index 00000000..f36c8898 --- /dev/null +++ b/src/app/modules/home/components/debug-settings/debug-settings-button.component.d.ts @@ -0,0 +1,36 @@ +import { Renderer2, ViewContainerRef } from '@angular/core'; +import { TbPopoverService } from '@shared/components/popover.service'; +import { MatButton } from '@angular/material/button'; +import { DebugSettings } from '@shared/models/entity.models'; +import { AppState } from '@core/core.state'; +import { Store } from '@ngrx/store'; +import { ControlValueAccessor, FormBuilder } from '@angular/forms'; +import * as i0 from "@angular/core"; +export declare class DebugSettingsButtonComponent implements ControlValueAccessor { + private popoverService; + private renderer; + private store; + private viewContainerRef; + private fb; + debugLimitsConfiguration: string; + debugSettingsFormGroup: import("@angular/forms").FormGroup<{ + failuresEnabled: import("@angular/forms").FormControl; + allEnabled: import("@angular/forms").FormControl; + allEnabledUntil: import("@angular/forms").FormControl; + }>; + disabled: boolean; + isDebugAllActive$: import("rxjs").Observable; + readonly maxDebugModeDurationMinutes: number; + private propagateChange; + constructor(popoverService: TbPopoverService, renderer: Renderer2, store: Store, viewContainerRef: ViewContainerRef, fb: FormBuilder); + get failuresEnabled(): boolean; + get allEnabled(): boolean; + get allEnabledUntil(): number; + openDebugStrategyPanel($event: Event, matButton: MatButton): void; + registerOnChange(fn: (settings: DebugSettings) => void): void; + registerOnTouched(_: () => void): void; + writeValue(settings: DebugSettings): void; + setDisabledState(isDisabled: boolean): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/modules/home/components/debug-settings/debug-settings-panel.component.d.ts b/src/app/modules/home/components/debug-settings/debug-settings-panel.component.d.ts new file mode 100644 index 00000000..1281287e --- /dev/null +++ b/src/app/modules/home/components/debug-settings/debug-settings-panel.component.d.ts @@ -0,0 +1,32 @@ +import { ChangeDetectorRef, EventEmitter, OnInit } from '@angular/core'; +import { PageComponent } from '@shared/components/page.component'; +import { TbPopoverComponent } from '@shared/components/popover.component'; +import { FormBuilder } from '@angular/forms'; +import { DebugSettings } from '@shared/models/entity.models'; +import * as i0 from "@angular/core"; +export declare class DebugSettingsPanelComponent extends PageComponent implements OnInit { + private fb; + private cd; + popover: TbPopoverComponent; + failuresEnabled: boolean; + allEnabled: boolean; + allEnabledUntil: number; + maxDebugModeDurationMinutes: number; + debugLimitsConfiguration: string; + onFailuresControl: import("@angular/forms").FormControl; + debugAllControl: import("@angular/forms").FormControl; + maxMessagesCount: string; + maxTimeFrameSec: string; + initialAllEnabled: boolean; + isDebugAllActive$: import("rxjs").Observable; + onSettingsApplied: EventEmitter; + constructor(fb: FormBuilder, cd: ChangeDetectorRef); + ngOnInit(): void; + onCancel(): void; + onApply(): void; + onReset(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; + static ngAcceptInputType_failuresEnabled: unknown; + static ngAcceptInputType_allEnabled: unknown; +} diff --git a/src/app/modules/home/components/entity/entity-chips.component.d.ts b/src/app/modules/home/components/entity/entity-chips.component.d.ts index a14d1367..f188b106 100644 --- a/src/app/modules/home/components/entity/entity-chips.component.d.ts +++ b/src/app/modules/home/components/entity/entity-chips.component.d.ts @@ -1,17 +1,17 @@ +import { OnChanges, SimpleChanges } from '@angular/core'; import { BaseData, GroupEntityInfo } from '@shared/models/base-data'; import { EntityId } from '@shared/models/id/entity-id'; import { UserPermissionsService } from '@core/http/user-permissions.service'; import * as i0 from "@angular/core"; -export declare class EntityChipsComponent { +export declare class EntityChipsComponent implements OnChanges { private userPermissionsService; - set entity(value: BaseData | GroupEntityInfo); - get entity(): BaseData | GroupEntityInfo; + entity: BaseData | GroupEntityInfo; + key: string; entityDetailsPrefixUrl: string; subEntities: Array>; - private entityValue?; - private subEntitiesKey; constructor(userPermissionsService: UserPermissionsService); - update(): void; + ngOnChanges(changes: SimpleChanges): void; + private update; static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵcmp: i0.ɵɵComponentDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; } diff --git a/src/app/modules/home/components/event/event-table-config.d.ts b/src/app/modules/home/components/event/event-table-config.d.ts index 5887c7d0..a9011569 100644 --- a/src/app/modules/home/components/event/event-table-config.d.ts +++ b/src/app/modules/home/components/event/event-table-config.d.ts @@ -12,6 +12,8 @@ import { DialogService } from '@core/services/dialog.service'; import { ContentType } from '@shared/models/constants'; import { Overlay } from '@angular/cdk/overlay'; import { ChangeDetectorRef, EventEmitter, ViewContainerRef } from '@angular/core'; +import { Store } from '@ngrx/store'; +import { AppState } from '@core/core.state'; export declare class EventTableConfig extends EntityTableConfig { private eventService; private dialogService; @@ -26,6 +28,7 @@ export declare class EventTableConfig extends EntityTableConfig; - constructor(eventService: EventService, dialogService: DialogService, translate: TranslateService, datePipe: DatePipe, dialog: MatDialog, entityId: EntityId, tenantId: string, defaultEventType: EventType | DebugEventType, disabledEventTypes: Array, debugEventTypes: Array, overlay: Overlay, viewContainerRef: ViewContainerRef, cd: ChangeDetectorRef, isReadOnly: boolean, testButtonLabel?: string, debugEventSelected?: EventEmitter); + constructor(eventService: EventService, dialogService: DialogService, translate: TranslateService, datePipe: DatePipe, dialog: MatDialog, entityId: EntityId, tenantId: string, defaultEventType: EventType | DebugEventType, disabledEventTypes: Array, debugEventTypes: Array, overlay: Overlay, viewContainerRef: ViewContainerRef, cd: ChangeDetectorRef, store: Store, isReadOnly: boolean, testButtonLabel?: string, debugEventSelected?: EventEmitter); clearEvents($event: any): void; fetchEvents(pageLink: TimePageLink): Observable>; updateColumns(updateTableColumns?: boolean): void; diff --git a/src/app/modules/home/components/event/event-table.component.d.ts b/src/app/modules/home/components/event/event-table.component.d.ts index 4f82f4bd..751906c2 100644 --- a/src/app/modules/home/components/event/event-table.component.d.ts +++ b/src/app/modules/home/components/event/event-table.component.d.ts @@ -9,6 +9,8 @@ import { EventService } from '@core/http/event.service'; import { DialogService } from '@core/services/dialog.service'; import { DebugEventType, EventBody, EventType } from '@shared/models/event.models'; import { Overlay } from '@angular/cdk/overlay'; +import { Store } from '@ngrx/store'; +import { AppState } from '@core/core.state'; import * as i0 from "@angular/core"; export declare class EventTableComponent implements OnInit, AfterViewInit, OnDestroy { private eventService; @@ -18,6 +20,7 @@ export declare class EventTableComponent implements OnInit, AfterViewInit, OnDes private dialog; private overlay; private viewContainerRef; + private store; private cd; tenantId: string; defaultEventType: EventType | DebugEventType; @@ -37,7 +40,7 @@ export declare class EventTableComponent implements OnInit, AfterViewInit, OnDes entitiesTable: EntitiesTableComponent; eventTableConfig: EventTableConfig; private isEmptyData$; - constructor(eventService: EventService, dialogService: DialogService, translate: TranslateService, datePipe: DatePipe, dialog: MatDialog, overlay: Overlay, viewContainerRef: ViewContainerRef, cd: ChangeDetectorRef); + constructor(eventService: EventService, dialogService: DialogService, translate: TranslateService, datePipe: DatePipe, dialog: MatDialog, overlay: Overlay, viewContainerRef: ViewContainerRef, store: Store, cd: ChangeDetectorRef); ngOnInit(): void; ngAfterViewInit(): void; ngOnDestroy(): void; diff --git a/src/app/modules/home/components/group/entity-groups-table-config.d.ts b/src/app/modules/home/components/group/entity-groups-table-config.d.ts index 0cf2c8d2..9c6dfb80 100644 --- a/src/app/modules/home/components/group/entity-groups-table-config.d.ts +++ b/src/app/modules/home/components/group/entity-groups-table-config.d.ts @@ -1,31 +1,30 @@ import { EntityTableConfig } from '@home/models/entity/entities-table-config.models'; import { EntityGroupInfo, EntityGroupParams } from '@shared/models/entity-group.models'; import { EntityGroupService } from '@core/http/entity-group.service'; -import { CustomerService } from '@core/http/customer.service'; import { UserPermissionsService } from '@core/http/user-permissions.service'; import { TranslateService } from '@ngx-translate/core'; import { DatePipe } from '@angular/common'; import { UtilsService } from '@core/services/utils.service'; -import { ActivatedRoute, Router } from '@angular/router'; +import { Router } from '@angular/router'; import { HomeDialogsService } from '@home/dialogs/home-dialogs.service'; import { EntityType } from '@shared/models/entity-type.models'; import { MatDialog } from '@angular/material/dialog'; +import { CustomTranslatePipe } from '@shared/pipe/custom-translate.pipe'; export declare class EntityGroupsTableConfig extends EntityTableConfig { private entityGroupService; - private customerService; private userPermissionsService; private translate; private datePipe; private utils; - private route; private router; private dialog; private homeDialogs; + private customTranslate; private params; edgeId: string; groupType: EntityType; shared: boolean; - constructor(entityGroupService: EntityGroupService, customerService: CustomerService, userPermissionsService: UserPermissionsService, translate: TranslateService, datePipe: DatePipe, utils: UtilsService, route: ActivatedRoute, router: Router, dialog: MatDialog, homeDialogs: HomeDialogsService, params: EntityGroupParams); + constructor(entityGroupService: EntityGroupService, userPermissionsService: UserPermissionsService, translate: TranslateService, datePipe: DatePipe, utils: UtilsService, router: Router, dialog: MatDialog, homeDialogs: HomeDialogsService, customTranslate: CustomTranslatePipe, params: EntityGroupParams); private updateActionCellDescriptors; private entityGroupWizard; private assignEntityGroupsToEdge; diff --git a/src/app/modules/home/components/group/entity-groups-table-config.resolver.d.ts b/src/app/modules/home/components/group/entity-groups-table-config.resolver.d.ts index efc24fa3..3dee819f 100644 --- a/src/app/modules/home/components/group/entity-groups-table-config.resolver.d.ts +++ b/src/app/modules/home/components/group/entity-groups-table-config.resolver.d.ts @@ -1,4 +1,4 @@ -import { ActivatedRoute, ActivatedRouteSnapshot, Router } from '@angular/router'; +import { ActivatedRouteSnapshot, Router } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; import { DatePipe } from '@angular/common'; import { UtilsService } from '@core/services/utils.service'; @@ -11,6 +11,7 @@ import { CustomerService } from '@core/http/customer.service'; import { EntityGroupsTableConfig } from './entity-groups-table-config'; import { MatDialog } from '@angular/material/dialog'; import { EdgeService } from '@core/http/edge.service'; +import { CustomTranslatePipe } from '@shared/pipe/custom-translate.pipe'; import * as i0 from "@angular/core"; export declare class EntityGroupsTableConfigResolver { private entityGroupService; @@ -20,11 +21,11 @@ export declare class EntityGroupsTableConfigResolver { private translate; private datePipe; private utils; - private route; private router; private dialog; private homeDialogs; - constructor(entityGroupService: EntityGroupService, customerService: CustomerService, edgeService: EdgeService, userPermissionsService: UserPermissionsService, translate: TranslateService, datePipe: DatePipe, utils: UtilsService, route: ActivatedRoute, router: Router, dialog: MatDialog, homeDialogs: HomeDialogsService); + private customTranslate; + constructor(entityGroupService: EntityGroupService, customerService: CustomerService, edgeService: EdgeService, userPermissionsService: UserPermissionsService, translate: TranslateService, datePipe: DatePipe, utils: UtilsService, router: Router, dialog: MatDialog, homeDialogs: HomeDialogsService, customTranslate: CustomTranslatePipe); resolve(route: ActivatedRouteSnapshot): Observable | EntityGroupsTableConfig; resolveEntityGroupTableConfig(params: EntityGroupParams, resolveCustomer?: boolean, customerTitle?: string): Observable | EntityGroupsTableConfig; private resolveEdgeInfo; diff --git a/src/app/modules/home/components/group/group-config-table-config.service.d.ts b/src/app/modules/home/components/group/group-config-table-config.service.d.ts index b4b49bda..4d0424fa 100644 --- a/src/app/modules/home/components/group/group-config-table-config.service.d.ts +++ b/src/app/modules/home/components/group/group-config-table-config.service.d.ts @@ -11,6 +11,8 @@ import { HomeDialogsService } from '@home/dialogs/home-dialogs.service'; import { Router } from '@angular/router'; import { EntityGroupParams } from '@shared/models/entity-group.models'; import { GroupEntityTableConfig } from '@home/models/group/group-entities-table-config.models'; +import { Observable } from 'rxjs'; +import { HttpClient } from '@angular/common/http'; import * as i0 from "@angular/core"; export declare class GroupConfigTableConfigService> { protected entityGroupService: EntityGroupService; @@ -23,9 +25,10 @@ export declare class GroupConfigTableConfigService> { protected dialog: MatDialog; protected homeDialogs: HomeDialogsService; protected router: Router; + protected http: HttpClient; protected injector: Injector; - constructor(entityGroupService: EntityGroupService, userPermissionsService: UserPermissionsService, telemetryWsService: TelemetryWebsocketService, zone: NgZone, translate: TranslateService, utils: UtilsService, datePipe: DatePipe, dialog: MatDialog, homeDialogs: HomeDialogsService, router: Router, injector: Injector); - prepareConfiguration(params: EntityGroupParams, config: GroupEntityTableConfig): GroupEntityTableConfig; + constructor(entityGroupService: EntityGroupService, userPermissionsService: UserPermissionsService, telemetryWsService: TelemetryWebsocketService, zone: NgZone, translate: TranslateService, utils: UtilsService, datePipe: DatePipe, dialog: MatDialog, homeDialogs: HomeDialogsService, router: Router, http: HttpClient, injector: Injector); + prepareConfiguration(params: EntityGroupParams, config: GroupEntityTableConfig): Observable>; private changeEntitiesOwner; private addEntitiesToEntityGroup; private moveEntitiesToEntityGroup; diff --git a/src/app/modules/home/components/home-components.module.d.ts b/src/app/modules/home/components/home-components.module.d.ts index 55ec0e25..c89aa2c8 100644 --- a/src/app/modules/home/components/home-components.module.d.ts +++ b/src/app/modules/home/components/home-components.module.d.ts @@ -63,124 +63,127 @@ import * as i61 from "@home/components/group/group-entity-info.component"; import * as i62 from "@home/components/group/owner-and-groups.component"; import * as i63 from "@home/components/group/manage-owner-and-groups-dialog.component"; import * as i64 from "@home/components/role/registration-permissions.component"; -import * as i65 from "@home/components/filter/boolean-filter-predicate.component"; -import * as i66 from "@home/components/filter/string-filter-predicate.component"; -import * as i67 from "@home/components/filter/numeric-filter-predicate.component"; -import * as i68 from "@home/components/filter/complex-filter-predicate.component"; -import * as i69 from "@home/components/filter/complex-filter-predicate-dialog.component"; -import * as i70 from "@home/components/filter/filter-predicate.component"; -import * as i71 from "@home/components/filter/filter-predicate-list.component"; -import * as i72 from "@home/components/filter/key-filter-list.component"; -import * as i73 from "@home/components/filter/key-filter-dialog.component"; -import * as i74 from "@home/components/filter/filter-dialog.component"; -import * as i75 from "@home/components/filter/filters-dialog.component"; -import * as i76 from "@home/components/filter/filter-text.component"; -import * as i77 from "@home/components/filter/filters-edit.component"; -import * as i78 from "@home/components/filter/filters-edit-panel.component"; -import * as i79 from "@home/components/filter/user-filter-dialog.component"; -import * as i80 from "@home/components/filter/filter-user-info.component"; -import * as i81 from "@home/components/filter/filter-user-info-dialog.component"; -import * as i82 from "@home/components/filter/filter-predicate-value.component"; -import * as i83 from "@home/components/profile/tenant-profile-autocomplete.component"; -import * as i84 from "@home/components/profile/tenant/default-tenant-profile-configuration.component"; -import * as i85 from "@home/components/profile/tenant/tenant-profile-configuration.component"; -import * as i86 from "@home/components/profile/tenant-profile-data.component"; -import * as i87 from "@home/components/profile/tenant-profile.component"; -import * as i88 from "@home/components/profile/tenant-profile-dialog.component"; -import * as i89 from "@home/components/profile/device-profile-autocomplete.component"; -import * as i90 from "@home/components/profile/device/default-device-profile-configuration.component"; -import * as i91 from "@home/components/profile/device/device-profile-configuration.component"; -import * as i92 from "@home/components/profile/device/default-device-profile-transport-configuration.component"; -import * as i93 from "@home/components/profile/device/mqtt-device-profile-transport-configuration.component"; -import * as i94 from "@home/components/profile/device/coap-device-profile-transport-configuration.component"; -import * as i95 from "@home/components/profile/device/device-profile-transport-configuration.component"; -import * as i96 from "@home/components/profile/alarm/create-alarm-rules.component"; -import * as i97 from "@home/components/profile/alarm/alarm-rule.component"; -import * as i98 from "@home/components/profile/alarm/alarm-rule-condition-dialog.component"; -import * as i99 from "@home/components/profile/alarm/alarm-rule-condition.component"; -import * as i100 from "@home/components/profile/alarm/device-profile-alarm.component"; -import * as i101 from "@home/components/profile/alarm/device-profile-alarms.component"; -import * as i102 from "@home/components/profile/device-profile.component"; -import * as i103 from "@home/components/profile/device-profile-dialog.component"; -import * as i104 from "@home/components/profile/add-device-profile-dialog.component"; -import * as i105 from "@home/components/device/device-info-filter.component"; -import * as i106 from "@home/components/profile/asset-profile.component"; -import * as i107 from "@home/components/profile/asset-profile-dialog.component"; -import * as i108 from "@home/components/profile/asset-profile-autocomplete.component"; -import * as i109 from "@home/components/rule-chain/rule-chain-autocomplete.component"; -import * as i110 from "@home/components/profile/alarm/alarm-schedule-info.component"; -import * as i111 from "@home/components/profile/device-profile-provision-configuration.component"; -import * as i112 from "@home/components/profile/alarm/alarm-schedule.component"; -import * as i113 from "@home/components/profile/alarm/alarm-dynamic-value.component"; -import * as i114 from "@home/components/profile/alarm/alarm-duration-predicate-value.component"; -import * as i115 from "@home/components/wizard/device-wizard-dialog.component"; -import * as i116 from "@home/components/profile/alarm/alarm-schedule-dialog.component"; -import * as i117 from "@home/components/profile/alarm/edit-alarm-details-dialog.component"; -import * as i118 from "@home/components/sms/sms-provider-configuration.component"; -import * as i119 from "@home/components/sms/aws-sns-provider-configuration.component"; -import * as i120 from "@home/components/sms/smpp-sms-provider-configuration.component"; -import * as i121 from "@home/components/sms/twilio-sms-provider-configuration.component"; -import * as i122 from "@home/components/wizard/entity-group-wizard-dialog.component"; -import * as i123 from "@home/components/dashboard-page/dashboard-toolbar.component"; -import * as i124 from "@home/components/dashboard-page/dashboard-page.component"; -import * as i125 from "@home/components/dashboard-page/dashboard-state.component"; -import * as i126 from "@home/components/dashboard-page/layout/dashboard-layout.component"; -import * as i127 from "@home/components/dashboard-page/layout/select-dashboard-breakpoint.component"; -import * as i128 from "@home/components/dashboard-page/edit-widget.component"; -import * as i129 from "@home/components/dashboard-page/dashboard-widget-select.component"; -import * as i130 from "@home/components/dashboard-page/add-widget-dialog.component"; -import * as i131 from "@home/components/dashboard-page/layout/move-widgets-dialog.component"; -import * as i132 from "@home/components/dashboard-page/layout/manage-dashboard-layouts-dialog.component"; -import * as i133 from "@home/components/dashboard-page/layout/add-new-breakpoint-dialog.component"; -import * as i134 from "@home/components/dashboard-page/dashboard-settings-dialog.component"; -import * as i135 from "@home/components/dashboard-page/states/manage-dashboard-states-dialog.component"; -import * as i136 from "@home/components/dashboard-page/states/dashboard-state-dialog.component"; -import * as i137 from "@home/components/dashboard-page/dashboard-image-dialog.component"; -import * as i138 from "@home/components/widget/dialog/embed-dashboard-dialog.component"; -import * as i139 from "@home/components/scheduler/config/ota-update-event-config.component"; -import * as i140 from "@home/components/scheduler/config/target-select.component"; -import * as i141 from "@home/components/dashboard-page/widget-types-panel.component"; -import * as i142 from "@home/components/solution/solution-install-dialog.component"; -import * as i143 from "@home/components/profile/queue/tenant-profile-queues.component"; -import * as i144 from "@home/components/queue/queue-form.component"; -import * as i145 from "@home/components/vc/repository-settings.component"; -import * as i146 from "@home/components/vc/version-control.component"; -import * as i147 from "@home/components/vc/entity-versions-table.component"; -import * as i148 from "@home/components/vc/entity-version-create.component"; -import * as i149 from "@home/components/vc/entity-version-restore.component"; -import * as i150 from "@home/components/vc/entity-version-diff.component"; -import * as i151 from "@home/components/vc/complex-version-create.component"; -import * as i152 from "@home/components/vc/entity-types-version-create.component"; -import * as i153 from "@home/components/vc/entity-types-version-load.component"; -import * as i154 from "@home/components/vc/complex-version-load.component"; -import * as i155 from "@home/components/vc/remove-other-entities-confirm.component"; -import * as i156 from "@home/components/vc/auto-commit-settings.component"; -import * as i157 from "@home/components/vc/owner-entity-group-list.component"; -import * as i158 from "@home/components/profile/tenant/rate-limits/rate-limits-details-dialog.component"; -import * as i159 from "@home/components/profile/tenant/rate-limits/rate-limits.component"; -import * as i160 from "@home/components/profile/tenant/rate-limits/rate-limits-list.component"; -import * as i161 from "@home/components/profile/tenant/rate-limits/rate-limits-text.component"; -import * as i162 from "@home/components/wizard/integration-wizard-dialog.component"; -import * as i163 from "@home/components/converter/converter.component"; -import * as i164 from "@home/components/converter/converter-test-dialog.component"; -import * as i165 from "@home/components/notification/send-notification-button.component"; -import * as i166 from "@home/components/entity/entity-chips.component"; -import * as i167 from "@home/components/dashboard-view/dashboard-view.component"; -import * as i168 from "@home/components/converter/converter-library.component"; -import * as i169 from "@angular/common"; -import * as i170 from "@app/shared/shared.module"; -import * as i171 from "@home/components/shared-home-components.module"; -import * as i172 from "@home/dialogs/home-dialogs.module"; -import * as i173 from "@home/components/widget/config/widget-config-components.module"; -import * as i174 from "@home/components/widget/config/basic/basic-widget-config.module"; -import * as i175 from "@home/components/profile/device/lwm2m/lwm2m-profile-components.module"; -import * as i176 from "@home/components/profile/device/snmp/snmp-device-profile-transport.module"; -import * as i177 from "@home/components/dashboard-page/states/states-controller.module"; -import * as i178 from "@home/components/device/device-credentials.module"; -import * as i179 from "@home/components/profile/device/common/device-profile-common.module"; -import * as i180 from "@home/components/integration/integration-component.module"; +import * as i65 from "@home/components/role/user-group-panel.component"; +import * as i66 from "@home/components/role/user-groups-panel-row.component"; +import * as i67 from "@home/components/filter/boolean-filter-predicate.component"; +import * as i68 from "@home/components/filter/string-filter-predicate.component"; +import * as i69 from "@home/components/filter/numeric-filter-predicate.component"; +import * as i70 from "@home/components/filter/complex-filter-predicate.component"; +import * as i71 from "@home/components/filter/complex-filter-predicate-dialog.component"; +import * as i72 from "@home/components/filter/filter-predicate.component"; +import * as i73 from "@home/components/filter/filter-predicate-list.component"; +import * as i74 from "@home/components/filter/key-filter-list.component"; +import * as i75 from "@home/components/filter/key-filter-dialog.component"; +import * as i76 from "@home/components/filter/filter-dialog.component"; +import * as i77 from "@home/components/filter/filters-dialog.component"; +import * as i78 from "@home/components/filter/filter-text.component"; +import * as i79 from "@home/components/filter/filters-edit.component"; +import * as i80 from "@home/components/filter/filters-edit-panel.component"; +import * as i81 from "@home/components/filter/user-filter-dialog.component"; +import * as i82 from "@home/components/filter/filter-user-info.component"; +import * as i83 from "@home/components/filter/filter-user-info-dialog.component"; +import * as i84 from "@home/components/filter/filter-predicate-value.component"; +import * as i85 from "@home/components/profile/tenant-profile-autocomplete.component"; +import * as i86 from "@home/components/profile/tenant/default-tenant-profile-configuration.component"; +import * as i87 from "@home/components/profile/tenant/tenant-profile-configuration.component"; +import * as i88 from "@home/components/profile/tenant-profile-data.component"; +import * as i89 from "@home/components/profile/tenant-profile.component"; +import * as i90 from "@home/components/profile/tenant-profile-dialog.component"; +import * as i91 from "@home/components/profile/device-profile-autocomplete.component"; +import * as i92 from "@home/components/profile/device/default-device-profile-configuration.component"; +import * as i93 from "@home/components/profile/device/device-profile-configuration.component"; +import * as i94 from "@home/components/profile/device/default-device-profile-transport-configuration.component"; +import * as i95 from "@home/components/profile/device/mqtt-device-profile-transport-configuration.component"; +import * as i96 from "@home/components/profile/device/coap-device-profile-transport-configuration.component"; +import * as i97 from "@home/components/profile/device/device-profile-transport-configuration.component"; +import * as i98 from "@home/components/profile/alarm/create-alarm-rules.component"; +import * as i99 from "@home/components/profile/alarm/alarm-rule.component"; +import * as i100 from "@home/components/profile/alarm/alarm-rule-condition-dialog.component"; +import * as i101 from "@home/components/profile/alarm/alarm-rule-condition.component"; +import * as i102 from "@home/components/profile/alarm/device-profile-alarm.component"; +import * as i103 from "@home/components/profile/alarm/device-profile-alarms.component"; +import * as i104 from "@home/components/profile/device-profile.component"; +import * as i105 from "@home/components/profile/device-profile-dialog.component"; +import * as i106 from "@home/components/profile/add-device-profile-dialog.component"; +import * as i107 from "@home/components/device/device-info-filter.component"; +import * as i108 from "@home/components/profile/asset-profile.component"; +import * as i109 from "@home/components/profile/asset-profile-dialog.component"; +import * as i110 from "@home/components/profile/asset-profile-autocomplete.component"; +import * as i111 from "@home/components/rule-chain/rule-chain-autocomplete.component"; +import * as i112 from "@home/components/profile/alarm/alarm-schedule-info.component"; +import * as i113 from "@home/components/profile/device-profile-provision-configuration.component"; +import * as i114 from "@home/components/profile/alarm/alarm-schedule.component"; +import * as i115 from "@home/components/profile/alarm/alarm-dynamic-value.component"; +import * as i116 from "@home/components/profile/alarm/alarm-duration-predicate-value.component"; +import * as i117 from "@home/components/wizard/device-wizard-dialog.component"; +import * as i118 from "@home/components/profile/alarm/alarm-schedule-dialog.component"; +import * as i119 from "@home/components/profile/alarm/edit-alarm-details-dialog.component"; +import * as i120 from "@home/components/sms/sms-provider-configuration.component"; +import * as i121 from "@home/components/sms/aws-sns-provider-configuration.component"; +import * as i122 from "@home/components/sms/smpp-sms-provider-configuration.component"; +import * as i123 from "@home/components/sms/twilio-sms-provider-configuration.component"; +import * as i124 from "@home/components/wizard/entity-group-wizard-dialog.component"; +import * as i125 from "@home/components/dashboard-page/dashboard-toolbar.component"; +import * as i126 from "@home/components/dashboard-page/dashboard-page.component"; +import * as i127 from "@home/components/dashboard-page/dashboard-state.component"; +import * as i128 from "@home/components/dashboard-page/layout/dashboard-layout.component"; +import * as i129 from "@home/components/dashboard-page/layout/select-dashboard-breakpoint.component"; +import * as i130 from "@home/components/dashboard-page/edit-widget.component"; +import * as i131 from "@home/components/dashboard-page/dashboard-widget-select.component"; +import * as i132 from "@home/components/dashboard-page/add-widget-dialog.component"; +import * as i133 from "@home/components/dashboard-page/layout/move-widgets-dialog.component"; +import * as i134 from "@home/components/dashboard-page/layout/manage-dashboard-layouts-dialog.component"; +import * as i135 from "@home/components/dashboard-page/layout/add-new-breakpoint-dialog.component"; +import * as i136 from "@home/components/dashboard-page/dashboard-settings-dialog.component"; +import * as i137 from "@home/components/dashboard-page/states/manage-dashboard-states-dialog.component"; +import * as i138 from "@home/components/dashboard-page/states/dashboard-state-dialog.component"; +import * as i139 from "@home/components/dashboard-page/dashboard-image-dialog.component"; +import * as i140 from "@home/components/widget/dialog/embed-dashboard-dialog.component"; +import * as i141 from "@home/components/scheduler/config/ota-update-event-config.component"; +import * as i142 from "@home/components/scheduler/config/target-select.component"; +import * as i143 from "@home/components/dashboard-page/widget-types-panel.component"; +import * as i144 from "@home/components/solution/solution-install-dialog.component"; +import * as i145 from "@home/components/profile/queue/tenant-profile-queues.component"; +import * as i146 from "@home/components/queue/queue-form.component"; +import * as i147 from "@home/components/vc/repository-settings.component"; +import * as i148 from "@home/components/vc/version-control.component"; +import * as i149 from "@home/components/vc/entity-versions-table.component"; +import * as i150 from "@home/components/vc/entity-version-create.component"; +import * as i151 from "@home/components/vc/entity-version-restore.component"; +import * as i152 from "@home/components/vc/entity-version-diff.component"; +import * as i153 from "@home/components/vc/complex-version-create.component"; +import * as i154 from "@home/components/vc/entity-types-version-create.component"; +import * as i155 from "@home/components/vc/entity-types-version-load.component"; +import * as i156 from "@home/components/vc/complex-version-load.component"; +import * as i157 from "@home/components/vc/remove-other-entities-confirm.component"; +import * as i158 from "@home/components/vc/auto-commit-settings.component"; +import * as i159 from "@home/components/vc/owner-entity-group-list.component"; +import * as i160 from "@home/components/profile/tenant/rate-limits/rate-limits-details-dialog.component"; +import * as i161 from "@home/components/profile/tenant/rate-limits/rate-limits.component"; +import * as i162 from "@home/components/profile/tenant/rate-limits/rate-limits-list.component"; +import * as i163 from "@home/components/profile/tenant/rate-limits/rate-limits-text.component"; +import * as i164 from "@home/components/wizard/integration-wizard-dialog.component"; +import * as i165 from "@home/components/converter/converter.component"; +import * as i166 from "@home/components/converter/converter-test-dialog.component"; +import * as i167 from "@home/components/notification/send-notification-button.component"; +import * as i168 from "@home/components/entity/entity-chips.component"; +import * as i169 from "@home/components/dashboard-view/dashboard-view.component"; +import * as i170 from "@home/components/converter/converter-library.component"; +import * as i171 from "@angular/common"; +import * as i172 from "@app/shared/shared.module"; +import * as i173 from "@home/components/shared-home-components.module"; +import * as i174 from "@home/dialogs/home-dialogs.module"; +import * as i175 from "@home/components/widget/config/widget-config-components.module"; +import * as i176 from "@home/components/widget/config/basic/basic-widget-config.module"; +import * as i177 from "@home/components/profile/device/lwm2m/lwm2m-profile-components.module"; +import * as i178 from "@home/components/profile/device/snmp/snmp-device-profile-transport.module"; +import * as i179 from "@home/components/dashboard-page/states/states-controller.module"; +import * as i180 from "@home/components/device/device-credentials.module"; +import * as i181 from "@home/components/profile/device/common/device-profile-common.module"; +import * as i182 from "@home/components/integration/integration-component.module"; +import * as i183 from "@home/components/debug-settings/debug-settings-button.component"; export declare class HomeComponentsModule { static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } diff --git a/src/app/modules/home/components/integration/configuration/azure-event-hub-integration-form/azure-event-hub-integration-form.component.d.ts b/src/app/modules/home/components/integration/configuration/azure-event-hub-integration-form/azure-event-hub-integration-form.component.d.ts index f8b9c3d7..a84dee81 100644 --- a/src/app/modules/home/components/integration/configuration/azure-event-hub-integration-form/azure-event-hub-integration-form.component.d.ts +++ b/src/app/modules/home/components/integration/configuration/azure-event-hub-integration-form/azure-event-hub-integration-form.component.d.ts @@ -16,6 +16,7 @@ export declare class AzureEventHubIntegrationFormComponent extends IntegrationFo setDisabledState(isDisabled: boolean): void; private updateModels; validate(): ValidationErrors | null; + private updateEnableFields; private downlinkConverterChanged; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; diff --git a/src/app/modules/home/components/role/user-group-panel.component.d.ts b/src/app/modules/home/components/role/user-group-panel.component.d.ts new file mode 100644 index 00000000..784d028a --- /dev/null +++ b/src/app/modules/home/components/role/user-group-panel.component.d.ts @@ -0,0 +1,21 @@ +import { AbstractControl, ControlValueAccessor, FormBuilder, ValidationErrors, Validator } from '@angular/forms'; +import { GroupPermission } from '@shared/models/group-permission.models'; +import * as i0 from "@angular/core"; +export declare class UserGroupPanelComponent implements ControlValueAccessor, Validator { + private fb; + disabled: boolean; + groupPermissionsForm: import("@angular/forms").FormArray>; + private propagateChange; + constructor(fb: FormBuilder); + registerOnChange(fn: any): void; + registerOnTouched(_fn: any): void; + setDisabledState(isDisabled: boolean): void; + validate(): ValidationErrors | null; + writeValue(groupPermissions: GroupPermission[]): void; + addPermission($event: Event): void; + trackByGroup(_index: number, groupControl: AbstractControl): any; + removePermission(index: number): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; + static ngAcceptInputType_disabled: unknown; +} diff --git a/src/app/modules/home/components/role/user-groups-panel-row.component.d.ts b/src/app/modules/home/components/role/user-groups-panel-row.component.d.ts new file mode 100644 index 00000000..83a7f6c7 --- /dev/null +++ b/src/app/modules/home/components/role/user-groups-panel-row.component.d.ts @@ -0,0 +1,33 @@ +import { ControlValueAccessor, FormBuilder, ValidationErrors, Validator } from '@angular/forms'; +import { GroupPermission } from '@shared/models/group-permission.models'; +import { RoleType } from '@shared/models/security.models'; +import { RoleId } from '@shared/models/id/role-id'; +import { EntityGroupId } from '@shared/models/id/entity-group-id'; +import { EntityType } from '@shared/models/entity-type.models'; +import { UserPermissionsService } from '@core/http/user-permissions.service'; +import * as i0 from "@angular/core"; +export declare class UserGroupsPanelRowComponent implements ControlValueAccessor, Validator { + private fb; + private userPermissionsService; + disabled: boolean; + groupPermissionForm: import("@angular/forms").FormGroup<{ + roleId: import("@angular/forms").FormControl; + entityGroupId: import("@angular/forms").FormControl; + }>; + groupType: import("@angular/forms").FormControl; + readonly entityType: typeof EntityType; + readonly roleType: typeof RoleType; + readonly roleTypes: RoleType[]; + readonly roleTypeTranslations: Map; + entityGroupOwnerId: import("../../../../shared/public-api").EntityId; + private propagateChange; + constructor(fb: FormBuilder, userPermissionsService: UserPermissionsService); + registerOnChange(fn: any): void; + registerOnTouched(_fn: any): void; + setDisabledState(isDisabled: boolean): void; + validate(): ValidationErrors | null; + writeValue(permission: GroupPermission): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; + static ngAcceptInputType_disabled: unknown; +} diff --git a/src/app/modules/home/components/scheduler/config/custom-scheduler-event-config.component.d.ts b/src/app/modules/home/components/scheduler/config/custom-scheduler-event-config.component.d.ts index 708cd4d1..82b4d7bc 100644 --- a/src/app/modules/home/components/scheduler/config/custom-scheduler-event-config.component.d.ts +++ b/src/app/modules/home/components/scheduler/config/custom-scheduler-event-config.component.d.ts @@ -1,19 +1,16 @@ import { PageComponent } from '@shared/components/page.component'; -import { Store } from '@ngrx/store'; -import { AppState } from '@core/core.state'; import { AfterViewInit, DoCheck, OnInit, QueryList } from '@angular/core'; import { SchedulerEventConfiguration } from '@shared/models/scheduler-event.models'; import { AbstractControl, ControlValueAccessor, NgForm, ValidationErrors, Validator } from '@angular/forms'; import * as i0 from "@angular/core"; export declare class CustomSchedulerEventConfigComponent extends PageComponent implements OnInit, AfterViewInit, DoCheck, ControlValueAccessor, Validator { - protected store: Store; forms: QueryList; configuration: SchedulerEventConfiguration; private configurationSnapshot; disabled: boolean; [key: string]: any; private propagateChange; - constructor(store: Store); + constructor(); registerOnChange(fn: any): void; registerOnTouched(_fn: any): void; ngOnInit(): void; diff --git a/src/app/modules/home/components/vc/entity-types-version-create.component.d.ts b/src/app/modules/home/components/vc/entity-types-version-create.component.d.ts index 46277355..cbeeba32 100644 --- a/src/app/modules/home/components/vc/entity-types-version-create.component.d.ts +++ b/src/app/modules/home/components/vc/entity-types-version-create.component.d.ts @@ -18,7 +18,7 @@ export declare class EntityTypesVersionCreateComponent extends PageComponent imp syncStrategies: SyncStrategy[]; syncStrategyTranslations: Map; entityTypes: typeof EntityType; - entityTypesWithoutRelatedData: Set; + entityTypesWithoutRelatedData: Set; loading: boolean; overrideEntityTypeTranslationsMap: Map; constructor(store: Store, translate: TranslateService, fb: UntypedFormBuilder); diff --git a/src/app/modules/home/components/vc/entity-types-version-load.component.d.ts b/src/app/modules/home/components/vc/entity-types-version-load.component.d.ts index 4db17cc1..5044ce05 100644 --- a/src/app/modules/home/components/vc/entity-types-version-load.component.d.ts +++ b/src/app/modules/home/components/vc/entity-types-version-load.component.d.ts @@ -21,7 +21,7 @@ export declare class EntityTypesVersionLoadComponent extends PageComponent imple private propagateChange; entityTypesVersionLoadFormGroup: UntypedFormGroup; entityTypes: typeof EntityType; - entityTypesWithoutRelatedData: Set; + entityTypesWithoutRelatedData: Set; loading: boolean; overrideEntityTypeTranslationsMap: Map; constructor(store: Store, translate: TranslateService, popoverService: TbPopoverService, renderer: Renderer2, viewContainerRef: ViewContainerRef, fb: UntypedFormBuilder); diff --git a/src/app/modules/home/components/vc/entity-version-create.component.d.ts b/src/app/modules/home/components/vc/entity-version-create.component.d.ts index 038129da..58c3ce80 100644 --- a/src/app/modules/home/components/vc/entity-version-create.component.d.ts +++ b/src/app/modules/home/components/vc/entity-version-create.component.d.ts @@ -26,6 +26,7 @@ export declare class EntityVersionCreateComponent extends PageComponent implemen popoverComponent: TbPopoverComponent; createVersionFormGroup: UntypedFormGroup; entityTypes: typeof EntityType; + entityTypesWithoutRelatedData: Set; resultMessage: string; versionCreateResult$: Observable; private versionCreateResultSubscription; diff --git a/src/app/modules/home/components/widget/config/basic/basic-widget-config.module.d.ts b/src/app/modules/home/components/widget/config/basic/basic-widget-config.module.d.ts index 3f7eb8be..eaaa649f 100644 --- a/src/app/modules/home/components/widget/config/basic/basic-widget-config.module.d.ts +++ b/src/app/modules/home/components/widget/config/basic/basic-widget-config.module.d.ts @@ -29,30 +29,31 @@ import * as i25 from "@home/components/widget/config/basic/chart/range-chart-bas import * as i26 from "@home/components/widget/config/basic/chart/bar-chart-with-labels-basic-config.component"; import * as i27 from "@home/components/widget/config/basic/rpc/single-switch-basic-config.component"; import * as i28 from "@home/components/widget/config/basic/button/action-button-basic-config.component"; -import * as i29 from "@home/components/widget/config/basic/button/command-button-basic-config.component"; -import * as i30 from "@home/components/widget/config/basic/button/power-button-basic-config.component"; -import * as i31 from "@home/components/widget/config/basic/rpc/slider-basic-config.component"; -import * as i32 from "@home/components/widget/config/basic/button/toggle-button-basic-config.component"; -import * as i33 from "@home/components/widget/config/basic/chart/time-series-chart-basic-config.component"; -import * as i34 from "@home/components/widget/config/basic/chart/comparison-key-row.component"; -import * as i35 from "@home/components/widget/config/basic/chart/comparison-keys-table.component"; -import * as i36 from "@home/components/widget/config/basic/indicator/status-widget-basic-config.component"; -import * as i37 from "@home/components/widget/config/basic/chart/pie-chart-basic-config.component"; -import * as i38 from "@home/components/widget/config/basic/chart/bar-chart-basic-config.component"; -import * as i39 from "@home/components/widget/config/basic/chart/polar-area-chart-basic-config.component"; -import * as i40 from "@home/components/widget/config/basic/chart/radar-chart-basic-config.component"; -import * as i41 from "@home/components/widget/config/basic/gauge/digital-simple-gauge-basic-config.component"; -import * as i42 from "@home/components/widget/config/basic/cards/mobile-app-qr-code-basic-config.component"; -import * as i43 from "@home/components/widget/config/basic/cards/label-card-basic-config.component"; -import * as i44 from "@home/components/widget/config/basic/cards/label-value-card-basic-config.component"; -import * as i45 from "@home/components/widget/config/basic/cards/unread-notification-basic-config.component"; -import * as i46 from "@home/components/widget/config/basic/scada/scada-symbol-basic-config.component"; -import * as i47 from "@angular/common"; -import * as i48 from "@shared/shared.module"; -import * as i49 from "@home/components/widget/config/widget-config-components.module"; +import * as i29 from "@home/components/widget/config/basic/button/segmented-button-basic-config.component"; +import * as i30 from "@home/components/widget/config/basic/button/command-button-basic-config.component"; +import * as i31 from "@home/components/widget/config/basic/button/power-button-basic-config.component"; +import * as i32 from "@home/components/widget/config/basic/rpc/slider-basic-config.component"; +import * as i33 from "@home/components/widget/config/basic/button/toggle-button-basic-config.component"; +import * as i34 from "@home/components/widget/config/basic/chart/time-series-chart-basic-config.component"; +import * as i35 from "@home/components/widget/config/basic/chart/comparison-key-row.component"; +import * as i36 from "@home/components/widget/config/basic/chart/comparison-keys-table.component"; +import * as i37 from "@home/components/widget/config/basic/indicator/status-widget-basic-config.component"; +import * as i38 from "@home/components/widget/config/basic/chart/pie-chart-basic-config.component"; +import * as i39 from "@home/components/widget/config/basic/chart/bar-chart-basic-config.component"; +import * as i40 from "@home/components/widget/config/basic/chart/polar-area-chart-basic-config.component"; +import * as i41 from "@home/components/widget/config/basic/chart/radar-chart-basic-config.component"; +import * as i42 from "@home/components/widget/config/basic/gauge/digital-simple-gauge-basic-config.component"; +import * as i43 from "@home/components/widget/config/basic/cards/mobile-app-qr-code-basic-config.component"; +import * as i44 from "@home/components/widget/config/basic/cards/label-card-basic-config.component"; +import * as i45 from "@home/components/widget/config/basic/cards/label-value-card-basic-config.component"; +import * as i46 from "@home/components/widget/config/basic/cards/unread-notification-basic-config.component"; +import * as i47 from "@home/components/widget/config/basic/scada/scada-symbol-basic-config.component"; +import * as i48 from "@angular/common"; +import * as i49 from "@shared/shared.module"; +import * as i50 from "@home/components/widget/config/widget-config-components.module"; export declare class BasicWidgetConfigModule { static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export declare const basicWidgetConfigComponentsMap: { diff --git a/src/app/modules/home/components/widget/config/basic/button/segmented-button-basic-config.component.d.ts b/src/app/modules/home/components/widget/config/basic/button/segmented-button-basic-config.component.d.ts new file mode 100644 index 00000000..47ae7434 --- /dev/null +++ b/src/app/modules/home/components/widget/config/basic/button/segmented-button-basic-config.component.d.ts @@ -0,0 +1,32 @@ +import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; +import { Store } from '@ngrx/store'; +import { AppState } from '@core/core.state'; +import { BasicWidgetConfigComponent } from '@home/components/widget/config/widget-config.component.models'; +import { WidgetConfigComponentData } from '@home/models/widget-component.models'; +import { TargetDevice } from '@shared/models/widget.models'; +import { WidgetConfigComponent } from '@home/components/widget/widget-config.component'; +import { ValueType } from '@shared/models/constants'; +import { SegmentedButtonAppearanceType, SegmentedButtonColorStylesType, WidgetButtonToggleState } from '@home/components/widget/lib/button/segmented-button-widget.models'; +import * as i0 from "@angular/core"; +export declare class SegmentedButtonBasicConfigComponent extends BasicWidgetConfigComponent { + protected store: Store; + protected widgetConfigComponent: WidgetConfigComponent; + private fb; + get targetDevice(): TargetDevice; + segmentedButtonAppearanceType: SegmentedButtonAppearanceType; + segmentedButtonColorStylesType: SegmentedButtonColorStylesType; + widgetButtonToggleStates: WidgetButtonToggleState[]; + widgetButtonToggleStatesTranslationsMap: Map; + segmentedButtonLayouts: import("@home/components/widget/lib/button/segmented-button-widget.models").SegmentedButtonLayout[]; + segmentedButtonLayoutTranslationMap: Map; + segmentedButtonLayoutImageMap: Map; + segmentedButtonLayoutBorderMap: Map; + valueType: typeof ValueType; + segmentedButtonWidgetConfigForm: UntypedFormGroup; + constructor(store: Store, widgetConfigComponent: WidgetConfigComponent, fb: UntypedFormBuilder); + protected configForm(): UntypedFormGroup; + protected onConfigSet(configData: WidgetConfigComponentData): void; + protected prepareOutputConfig(config: any): WidgetConfigComponentData; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/modules/home/components/widget/config/data-key-config.component.d.ts b/src/app/modules/home/components/widget/config/data-key-config.component.d.ts index 9f8d2bd0..e57f3ca3 100644 --- a/src/app/modules/home/components/widget/config/data-key-config.component.d.ts +++ b/src/app/modules/home/components/widget/config/data-key-config.component.d.ts @@ -85,7 +85,7 @@ export declare class DataKeyConfigComponent extends PageComponent implements OnI private fetchKeys; private getKeys; private createKeyFilter; - validateOnSubmit(): void; + validateOnSubmit(): Observable; validate(c: UntypedFormControl): { dataKey: { valid: boolean; diff --git a/src/app/modules/home/components/widget/config/data-keys.component.d.ts b/src/app/modules/home/components/widget/config/data-keys.component.d.ts index 30cde2ec..5f3ec609 100644 --- a/src/app/modules/home/components/widget/config/data-keys.component.d.ts +++ b/src/app/modules/home/components/widget/config/data-keys.component.d.ts @@ -1,8 +1,6 @@ -import { ChangeDetectorRef, ElementRef, OnChanges, OnInit, Renderer2, SimpleChanges, ViewContainerRef } from '@angular/core'; -import { ControlValueAccessor, FormGroupDirective, NgForm, UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validator } from '@angular/forms'; +import { DestroyRef, ElementRef, OnChanges, OnInit, Renderer2, SimpleChanges, ViewContainerRef } from '@angular/core'; +import { ControlValueAccessor, FormBuilder, FormControl, FormGroup, FormGroupDirective, NgForm, Validator } from '@angular/forms'; import { Observable } from 'rxjs'; -import { Store } from '@ngrx/store'; -import { AppState } from '@app/core/core.state'; import { TranslateService } from '@ngx-translate/core'; import { MatAutocomplete, MatAutocompleteTrigger } from '@angular/material/autocomplete'; import { MatChipGrid, MatChipInputEvent, MatChipRow } from '@angular/material/chips'; @@ -12,7 +10,6 @@ import { IAliasController } from '@core/api/widget-api.models'; import { DataKeySettingsFunction } from './data-keys.component.models'; import { UtilsService } from '@core/services/utils.service'; import { ErrorStateMatcher } from '@angular/material/core'; -import { TruncatePipe } from '@shared/pipe/truncate.pipe'; import { MatDialog } from '@angular/material/dialog'; import { Dashboard } from '@shared/models/dashboard.models'; import { DndDropEvent } from 'ngx-drag-drop/lib/dnd-dropzone.directive'; @@ -21,26 +18,23 @@ import { TbPopoverService } from '@shared/components/popover.service'; import { WidgetConfigCallbacks } from '@home/components/widget/config/widget-config.component.models'; import * as i0 from "@angular/core"; export declare class DataKeysComponent implements ControlValueAccessor, OnInit, OnChanges, ErrorStateMatcher, Validator { - private store; private errorStateMatcher; private datasourceComponent; - translate: TranslateService; + private translate; private utils; private dialog; private fb; - private cd; private popoverService; private viewContainerRef; private renderer; - truncate: TruncatePipe; + private destroyRef; get hideDataKeyLabel(): boolean; get hideDataKeyColor(): boolean; get hideDataKeyUnits(): boolean; get hideDataKeyDecimals(): boolean; - datasourceTypes: typeof DatasourceType; widgetTypes: typeof widgetType; dataKeyTypes: typeof DataKeyType; - keysListFormGroup: UntypedFormGroup; + keysListFormGroup: FormGroup; modelValue: Array | null; widgetType: widgetType; datasourceType: DatasourceType; @@ -85,21 +79,21 @@ export declare class DataKeysComponent implements ControlValueAccessor, OnInit, private propagateChange; private keysRequired; private keysValidator; - constructor(store: Store, errorStateMatcher: ErrorStateMatcher, datasourceComponent: DatasourceComponent, translate: TranslateService, utils: UtilsService, dialog: MatDialog, fb: UntypedFormBuilder, cd: ChangeDetectorRef, popoverService: TbPopoverService, viewContainerRef: ViewContainerRef, renderer: Renderer2, truncate: TruncatePipe); + constructor(errorStateMatcher: ErrorStateMatcher, datasourceComponent: DatasourceComponent, translate: TranslateService, utils: UtilsService, dialog: MatDialog, fb: FormBuilder, popoverService: TbPopoverService, viewContainerRef: ViewContainerRef, renderer: Renderer2, destroyRef: DestroyRef); updateValidators(): void; private _keysRequired; private _keysValidator; registerOnChange(fn: any): void; - registerOnTouched(fn: any): void; + registerOnTouched(_fn: any): void; ngOnInit(): void; maxDataKeysText(): string; private updateParams; private reset; ngOnChanges(changes: SimpleChanges): void; - isErrorState(control: UntypedFormControl | null, form: FormGroupDirective | NgForm | null): boolean; + isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean; setDisabledState(isDisabled: boolean): void; writeValue(value: Array | null): void; - validate(c: UntypedFormControl): { + validate(_c: FormControl): { dataKeys: { valid: boolean; }; @@ -129,6 +123,6 @@ export declare class DataKeysComponent implements ControlValueAccessor, OnInit, get dragDisabled(): boolean; get maxDataKeysSet(): boolean; private clearSearchCache; - static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } diff --git a/src/app/modules/home/components/widget/dialog/custom-dialog.component.d.ts b/src/app/modules/home/components/widget/dialog/custom-dialog.component.d.ts index 3f6c4fb9..a35319c7 100644 --- a/src/app/modules/home/components/widget/dialog/custom-dialog.component.d.ts +++ b/src/app/modules/home/components/widget/dialog/custom-dialog.component.d.ts @@ -1,25 +1,21 @@ import { MatDialogRef } from '@angular/material/dialog'; import { InjectionToken } from '@angular/core'; -import { Store } from '@ngrx/store'; -import { AppState } from '@core/core.state'; import { Router } from '@angular/router'; import { PageComponent } from '@shared/components/page.component'; -import { CustomDialogContainerComponent } from './custom-dialog-container.component'; import { UntypedFormBuilder } from '@angular/forms'; import * as i0 from "@angular/core"; -export declare const CUSTOM_DIALOG_DATA: InjectionToken; +export declare const CUSTOM_DIALOG_DATA: InjectionToken; export interface CustomDialogData { controller: (instance: CustomDialogComponent) => void; [key: string]: any; } export declare class CustomDialogComponent extends PageComponent { - protected store: Store; + [key: string]: any; protected router: Router; - dialogRef: MatDialogRef; - fb: UntypedFormBuilder; + dialogRef: MatDialogRef; data: CustomDialogData; - [key: string]: any; - constructor(store: Store, router: Router, dialogRef: MatDialogRef, fb: UntypedFormBuilder, data: CustomDialogData); + fb: UntypedFormBuilder; + constructor(); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } diff --git a/src/app/modules/home/components/widget/dynamic-widget.component.d.ts b/src/app/modules/home/components/widget/dynamic-widget.component.d.ts index 8d0c520b..4a627703 100644 --- a/src/app/modules/home/components/widget/dynamic-widget.component.d.ts +++ b/src/app/modules/home/components/widget/dynamic-widget.component.d.ts @@ -1,28 +1,25 @@ import { PageComponent } from '@shared/components/page.component'; -import { Injector, OnDestroy, OnInit, TemplateRef } from '@angular/core'; -import { Store } from '@ngrx/store'; -import { AppState } from '@core/core.state'; -import { IDynamicWidgetComponent, WidgetContext } from '@home/models/widget-component.models'; +import { Injector, OnDestroy, OnInit } from '@angular/core'; +import { IDynamicWidgetComponent } from '@home/models/widget-component.models'; import { HttpErrorResponse } from '@angular/common/http'; import { RafService } from '@core/services/raf.service'; import { NotificationHorizontalPosition, NotificationType, NotificationVerticalPosition } from '@core/notification/notification.models'; import { UntypedFormBuilder, Validators } from '@angular/forms'; import * as i0 from "@angular/core"; export declare class DynamicWidgetComponent extends PageComponent implements IDynamicWidgetComponent, OnInit, OnDestroy { - raf: RafService; - protected store: Store; - fb: UntypedFormBuilder; - readonly $injector: Injector; - readonly ctx: WidgetContext; - readonly errorMessages: string[]; - readonly widgetTitlePanel: TemplateRef; executingRpcRequest: boolean; rpcEnabled: boolean; rpcErrorText: string; rpcRejection: HttpErrorResponse | Error; [key: string]: any; validators: typeof Validators; - constructor(raf: RafService, store: Store, fb: UntypedFormBuilder, $injector: Injector, ctx: WidgetContext, errorMessages: string[], widgetTitlePanel: TemplateRef); + raf: RafService; + fb: UntypedFormBuilder; + readonly $injector: Injector; + readonly ctx: import("@home/models/widget-component.models").WidgetContext; + readonly errorMessages: string[]; + readonly widgetTitlePanel: import("@angular/core").TemplateRef; + constructor(); ngOnInit(): void; ngOnDestroy(): void; clearRpcError(): void; diff --git a/src/app/modules/home/components/widget/lib/action/action-widget.models.d.ts b/src/app/modules/home/components/widget/lib/action/action-widget.models.d.ts index 15e4fcfc..8838437c 100644 --- a/src/app/modules/home/components/widget/lib/action/action-widget.models.d.ts +++ b/src/app/modules/home/components/widget/lib/action/action-widget.models.d.ts @@ -5,6 +5,7 @@ import { AfterViewInit, ChangeDetectorRef, OnDestroy, OnInit, TemplateRef } from import { DataToValueSettings, GetAttributeValueSettings, GetValueSettings, SetValueSettings, TelemetryValueSettings, ValueActionSettings, ValueToDataSettings } from '@shared/models/action-widget-settings.models'; import { ValueType } from '@shared/models/constants'; import { EntityId } from '@shared/models/id/entity-id'; +import { HttpClient } from '@angular/common/http'; import * as i0 from "@angular/core"; export declare abstract class BasicActionWidgetComponent implements OnInit, OnDestroy, AfterViewInit { protected cd: ChangeDetectorRef; @@ -28,12 +29,13 @@ export declare abstract class BasicActionWidgetComponent implements OnInit, OnDe static ɵdir: i0.ɵɵDirectiveDeclaration; } export declare class DataToValueConverter { + private http; private settings; private valueType; - private readonly dataToValueFunction; + private readonly dataToValueFunction$; private readonly compareToValue; - constructor(settings: DataToValueSettings, valueType: ValueType); - dataToValue(data: any): V; + constructor(http: HttpClient, settings: DataToValueSettings, valueType: ValueType); + dataToValue(data: any): Observable; } export declare abstract class ValueAction { protected ctx: WidgetContext; @@ -57,11 +59,12 @@ export declare abstract class ValueGetter extends ValueAction { protected abstract doGetValue(): Observable; } export declare class ValueToDataConverter { - protected settings: ValueToDataSettings; + private http; + private settings; private readonly constantValue; - private readonly valueToDataFunction; - constructor(settings: ValueToDataSettings); - valueToData(value: V): any; + private readonly valueToDataFunction$; + constructor(http: HttpClient, settings: ValueToDataSettings); + valueToData(value: V): Observable; } export declare abstract class ValueSetter extends ValueAction { protected ctx: WidgetContext; @@ -127,6 +130,19 @@ export declare class TimeSeriesValueGetter extends TelemetryValueGetter, valueType: ValueType, valueObserver: Partial>, simulated: boolean); protected getTelemetryValueSettings(): TelemetryValueSettings; } +export declare class AlarmStatusValueGetter extends ValueGetter { + protected ctx: WidgetContext; + protected settings: GetValueSettings; + protected valueType: ValueType; + protected valueObserver: Partial>; + protected simulated: boolean; + protected targetEntityId: EntityId; + private telemetrySubscriber; + constructor(ctx: WidgetContext, settings: GetValueSettings, valueType: ValueType, valueObserver: Partial>, simulated: boolean); + protected doGetValue(): Observable; + private subscribeForTelemetryValue; + destroy(): void; +} export declare class DashboardStateGetter extends ValueGetter { protected ctx: WidgetContext; protected settings: GetValueSettings; diff --git a/src/app/modules/home/components/widget/lib/alarm/alarms-table-widget.component.d.ts b/src/app/modules/home/components/widget/lib/alarm/alarms-table-widget.component.d.ts index e9a55add..7cf3c42c 100644 --- a/src/app/modules/home/components/widget/lib/alarm/alarms-table-widget.component.d.ts +++ b/src/app/modules/home/components/widget/lib/alarm/alarms-table-widget.component.d.ts @@ -115,9 +115,9 @@ export declare class AlarmsTableWidgetComponent extends PageComponent implements trackByAlarmId(index: number, alarm: AlarmData): string; trackByActionCellDescriptionId(index: number, action: WidgetActionDescriptor): string; headerStyle(key: EntityColumn): any; - rowStyle(alarm: AlarmDataInfo, row: number): any; - cellStyle(alarm: AlarmDataInfo, key: EntityColumn, row: number): any; - cellContent(alarm: AlarmDataInfo, key: EntityColumn, row: number, useSafeHtml?: boolean, isExport?: boolean): SafeHtml; + rowStyle(alarm: AlarmDataInfo, row: number): Observable; + cellStyle(alarm: AlarmDataInfo, key: EntityColumn, row: number): Observable; + cellContent(alarm: AlarmDataInfo, key: EntityColumn, row: number, useSafeHtml?: boolean, isExport?: boolean): Observable; private applyCellContentFunction; onCellClick($event: Event, alarm: AlarmDataInfo, key: EntityColumn, columnIndex: number): void; columnHasCellClick(columnIndex: number): boolean; @@ -132,9 +132,7 @@ export declare class AlarmsTableWidgetComponent extends PageComponent implements private openAlarmActivity; private defaultContent; private defaultStyle; - customDataExport(): { - [key: string]: any; - }[] | Observable<{ + customDataExport(): Observable<{ [key: string]: any; }[]>; private includeColumnInExport; @@ -154,6 +152,7 @@ declare class AlarmsDatasource implements DataSource { private dataKeys; private ngZone; private widgetContext; + private actionCellDescriptors; private alarmsSubject; private pageDataSubject; selection: SelectionModel; @@ -167,8 +166,10 @@ declare class AlarmsDatasource implements DataSource { private appliedSortOrderLabel; private reserveSpaceForHiddenAction; private cellButtonActions; - private readonly usedShowCellActionFunction; + private usedShowCellActionFunction; + private inited; constructor(subscription: IWidgetSubscription, dataKeys: Array, ngZone: NgZone, widgetContext: WidgetContext, actionCellDescriptors: AlarmWidgetActionDescriptor[]); + private init; connect(collectionViewer: CollectionViewer): Observable>; disconnect(collectionViewer: CollectionViewer): void; loadAlarms(pageLink: AlarmDataPageLink, sortOrderLabel: string, keyFilters: KeyFilter[]): void; diff --git a/src/app/modules/home/components/widget/lib/button/segmented-button-widget.models.d.ts b/src/app/modules/home/components/widget/lib/button/segmented-button-widget.models.d.ts new file mode 100644 index 00000000..ebcca5fe --- /dev/null +++ b/src/app/modules/home/components/widget/lib/button/segmented-button-widget.models.d.ts @@ -0,0 +1,76 @@ +import { GetValueSettings } from '@shared/models/action-widget-settings.models'; +import { cssUnit, Font } from '@shared/models/widget-settings.models'; +import { WidgetAction } from '@shared/models/widget.models'; +export declare const defaultMainColorDisabled = "rgba(0, 0, 0, 0.38)"; +export declare const defaultBackgroundColorDisabled = "rgba(0, 0, 0, 0.03)"; +export declare const defaultBorderColorDisabled = "rgba(0, 0, 0, 0.03)"; +export declare enum SegmentedButtonLayout { + squared = "squared", + rounded = "rounded" +} +export type SegmentedButtonAppearanceType = 'first' | 'second'; +export type SegmentedButtonColorStylesType = 'selected' | 'unselected'; +export declare const segmentedButtonLayouts: SegmentedButtonLayout[]; +export declare const segmentedButtonLayoutTranslations: Map; +export declare const segmentedButtonLayoutImages: Map; +export declare const segmentedButtonLayoutBorder: Map; +export interface SegmentedButtonAppearance { + showLabel: boolean; + label: string; + labelFont: Font; + showIcon: boolean; + icon: string; + iconSize: number; + iconSizeUnit: cssUnit; +} +export interface SegmentedButtonStyles { + mainColor: string; + backgroundColor: string; + customStyle: WidgetButtonToggleCustomStyles; +} +export interface ButtonToggleAppearance { + layout: SegmentedButtonLayout; + autoScale: boolean; + cardBorder: number; + cardBorderColor: string; + leftAppearance: SegmentedButtonAppearance; + rightAppearance: SegmentedButtonAppearance; + selectedStyle: SegmentedButtonStyles; + unselectedStyle: SegmentedButtonStyles; +} +export interface SegmentedButtonWidgetSettings { + initialState: GetValueSettings; + disabledState: GetValueSettings; + leftButtonClick: WidgetAction; + rightButtonClick: WidgetAction; + appearance: ButtonToggleAppearance; +} +export declare const segmentedButtonDefaultAppearance: ButtonToggleAppearance; +export declare const segmentedButtonDefaultSettings: SegmentedButtonWidgetSettings; +export declare enum WidgetButtonToggleState { + enabled = "enabled", + hovered = "hovered", + disabled = "disabled" +} +export declare const widgetButtonToggleStates: WidgetButtonToggleState[]; +export declare const widgetButtonToggleStatesTranslations: Map; +export interface WidgetButtonToggleCustomStyle { + overrideMainColor?: boolean; + mainColor?: string; + overrideBackgroundColor?: boolean; + backgroundColor?: string; + overrideBorderColor?: boolean; + borderColor?: string; +} +export type WidgetButtonToggleCustomStyles = Record; +export declare abstract class ButtonToggleStateCssGenerator { + constructor(); + generateStateCss(selectedAppearance: SegmentedButtonStyles, unselectedAppearance: SegmentedButtonStyles): string; + private getColors; + protected abstract get state(): WidgetButtonToggleState; + protected getMainColor(appearance: SegmentedButtonStyles): string; + protected getBackgroundColor(appearance: SegmentedButtonStyles): string; + protected getBorderColor(): string; +} +export declare const generateWidgetButtonToggleAppearanceCss: (selectedAppearance: SegmentedButtonStyles, unselectedAppearance: SegmentedButtonStyles) => string; +export declare const generateWidgetButtonToggleBorderLayout: (layout: SegmentedButtonLayout) => string; diff --git a/src/app/modules/home/components/widget/lib/button/two-segment-button-widget.component.d.ts b/src/app/modules/home/components/widget/lib/button/two-segment-button-widget.component.d.ts new file mode 100644 index 00000000..53851032 --- /dev/null +++ b/src/app/modules/home/components/widget/lib/button/two-segment-button-widget.component.d.ts @@ -0,0 +1,29 @@ +import { AfterViewInit, ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core'; +import { BasicActionWidgetComponent } from '@home/components/widget/lib/action/action-widget.models'; +import { ImagePipe } from '@shared/pipe/image.pipe'; +import { DomSanitizer } from '@angular/platform-browser'; +import { ButtonToggleAppearance, SegmentedButtonWidgetSettings } from '@home/components/widget/lib/button/segmented-button-widget.models'; +import { ComponentStyle } from '@shared/models/widget-settings.models'; +import { MatButtonToggleChange } from '@angular/material/button-toggle'; +import * as i0 from "@angular/core"; +export declare class TwoSegmentButtonWidgetComponent extends BasicActionWidgetComponent implements OnInit, AfterViewInit, OnDestroy { + protected imagePipe: ImagePipe; + protected sanitizer: DomSanitizer; + protected cd: ChangeDetectorRef; + settings: SegmentedButtonWidgetSettings; + overlayStyle: ComponentStyle; + value: boolean; + disabled: boolean; + autoScale: boolean; + appearance: ButtonToggleAppearance; + constructor(imagePipe: ImagePipe, sanitizer: DomSanitizer, cd: ChangeDetectorRef); + ngOnInit(): void; + ngAfterViewInit(): void; + ngOnDestroy(): void; + onInit(): void; + private onValue; + private onDisabled; + onClick(_$event: MatButtonToggleChange): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/modules/home/components/widget/lib/entity/entities-table-widget.component.d.ts b/src/app/modules/home/components/widget/lib/entity/entities-table-widget.component.d.ts index 456ab5e2..60c89514 100644 --- a/src/app/modules/home/components/widget/lib/entity/entities-table-widget.component.d.ts +++ b/src/app/modules/home/components/widget/lib/entity/entities-table-widget.component.d.ts @@ -91,18 +91,16 @@ export declare class EntitiesTableWidgetComponent extends PageComponent implemen trackByEntityId(index: number, entity: EntityData): string; trackByActionCellDescriptionId(index: number, action: WidgetActionDescriptor): string; headerStyle(key: EntityColumn): any; - rowStyle(entity: EntityData, row: number): any; - cellStyle(entity: EntityData, key: EntityColumn, row: number): any; - cellContent(entity: EntityData, key: EntityColumn, row: number, useSafeHtml?: boolean, isExport?: boolean): SafeHtml; + rowStyle(entity: EntityData, row: number): Observable; + cellStyle(entity: EntityData, key: EntityColumn, row: number): Observable; + cellContent(entity: EntityData, key: EntityColumn, row: number, useSafeHtml?: boolean, isExport?: boolean): Observable; private applyCellContentFunction; private defaultContent; onCellClick($event: Event, entity: EntityData, key: EntityColumn, columnIndex: number): void; columnHasCellClick(index: number): boolean; onRowClick($event: Event, entity: EntityData, isDouble?: boolean): void; onActionButtonClick($event: Event, entity: EntityData, actionDescriptor: WidgetActionDescriptor): void; - customDataExport(): { - [key: string]: any; - }[] | Observable<{ + customDataExport(): Observable<{ [key: string]: any; }[]>; private includeColumnInExport; @@ -127,8 +125,10 @@ declare class EntityDatasource implements DataSource { private appliedSortOrderLabel; private reserveSpaceForHiddenAction; private cellButtonActions; - private readonly usedShowCellActionFunction; + private usedShowCellActionFunction; + private inited; constructor(translate: TranslateService, dataKeys: Array, subscription: IWidgetSubscription, ngZone: NgZone, widgetContext: WidgetContext); + private init; connect(collectionViewer: CollectionViewer): Observable>; disconnect(collectionViewer: CollectionViewer): void; loadEntities(pageLink: EntityDataPageLink, sortOrderLabel: string, keyFilters: KeyFilter[]): void; diff --git a/src/app/modules/home/components/widget/lib/indicator/signal-strength-widget.component.d.ts b/src/app/modules/home/components/widget/lib/indicator/signal-strength-widget.component.d.ts index 576e1aa5..086dc58d 100644 --- a/src/app/modules/home/components/widget/lib/indicator/signal-strength-widget.component.d.ts +++ b/src/app/modules/home/components/widget/lib/indicator/signal-strength-widget.component.d.ts @@ -52,6 +52,7 @@ export declare class SignalStrengthWidgetComponent implements OnInit, OnDestroy, private rssi; private noSignal; private noData; + private noSignalRssiValue; constructor(widgetComponent: WidgetComponent, imagePipe: ImagePipe, sanitizer: DomSanitizer, translate: TranslateService, renderer: Renderer2, cd: ChangeDetectorRef); ngOnInit(): void; ngAfterViewInit(): void; diff --git a/src/app/modules/home/components/widget/lib/indicator/signal-strength-widget.models.d.ts b/src/app/modules/home/components/widget/lib/indicator/signal-strength-widget.models.d.ts index 00c0065b..1c7c7b87 100644 --- a/src/app/modules/home/components/widget/lib/indicator/signal-strength-widget.models.d.ts +++ b/src/app/modules/home/components/widget/lib/indicator/signal-strength-widget.models.d.ts @@ -29,4 +29,4 @@ export interface SignalStrengthWidgetSettings { padding: string; } export declare const signalStrengthDefaultSettings: SignalStrengthWidgetSettings; -export declare const signalBarActive: (rssi: number, index: number) => boolean; +export declare const signalBarActive: (rssi: number, index: number, minSignal: number) => boolean; diff --git a/src/app/modules/home/components/widget/lib/maps/common-maps-utils.d.ts b/src/app/modules/home/components/widget/lib/maps/common-maps-utils.d.ts index df5ce704..c1701853 100644 --- a/src/app/modules/home/components/widget/lib/maps/common-maps-utils.d.ts +++ b/src/app/modules/home/components/widget/lib/maps/common-maps-utils.d.ts @@ -2,6 +2,7 @@ import { Observable } from 'rxjs'; import { FormattedData } from '@shared/models/widget.models'; import L from 'leaflet'; import { ImagePipe } from '@shared/pipe/image.pipe'; +import { CompiledTbFunction, GenericFunction } from '@shared/models/js-function.models'; export declare function getRatio(firsMoment: number, secondMoment: number, intermediateMoment: number): number; export declare function interpolateOnLineSegment(pointA: FormattedData, pointB: FormattedData, latKeyName: string, lngKeyName: string, ratio: number): { [key: string]: number; @@ -21,7 +22,7 @@ export declare const parseWithTranslation: { prepareProcessPattern(template: string, forceTranslate?: boolean): string; setTranslate(translateFn: TranslateFunc): void; }; -export declare function functionValueCalculator(useFunction: boolean, func: (...args: any[]) => any, params: any[], defaultValue: T): T; +export declare function functionValueCalculator(useFunction: boolean, func: CompiledTbFunction, params: any[], defaultValue: T): T; export declare function calculateNewPointCoordinate(coordinate: number, imageSize: number): number; export declare function createLoadingDiv(loadingText: string): JQuery; export declare function checkLngLat(point: L.LatLng, southWest: L.LatLng, northEast: L.LatLng, offset?: number): L.LatLng; diff --git a/src/app/modules/home/components/widget/lib/maps/map-models.d.ts b/src/app/modules/home/components/widget/lib/maps/map-models.d.ts index f5c6359b..57252b14 100644 --- a/src/app/modules/home/components/widget/lib/maps/map-models.d.ts +++ b/src/app/modules/home/components/widget/lib/maps/map-models.d.ts @@ -2,6 +2,7 @@ import { Datasource, FormattedData } from '@app/shared/models/widget.models'; import tinycolor from 'tinycolor2'; import { BaseIconOptions, Icon } from 'leaflet'; import { Observable } from 'rxjs'; +import { CompiledTbFunction, TbFunction } from '@shared/models/js-function.models'; export declare const DEFAULT_MAP_PAGE_SIZE = 16384; export declare const DEFAULT_ZOOM_LEVEL = 8; export type MarkerImageInfo = { @@ -144,7 +145,7 @@ export interface TripAnimationCommonSettings { autocloseTooltip: boolean; } export interface WidgetTripAnimationCommonSettings extends TripAnimationCommonSettings { - parsedTooltipFunction: GenericFunction; + parsedTooltipFunction: CompiledTbFunction; } export declare const defaultTripAnimationCommonSettings: TripAnimationCommonSettings; export declare enum ShowTooltipAction { @@ -155,34 +156,34 @@ export declare const showTooltipActionTranslationMap: Map; + parsedTooltipFunction: CompiledTbFunction; + parsedColorFunction: CompiledTbFunction; + parsedMarkerImageFunction: CompiledTbFunction; markerClick: { [name: string]: actionsHandler; }; @@ -205,8 +206,7 @@ export interface TripAnimationMarkerSettings { markerImages?: string[]; } export interface WidgetTripAnimationMarkerSettings extends TripAnimationMarkerSettings { - parsedLabelFunction: GenericFunction; - parsedMarkerImageFunction: MarkerImageFunction; + parsedLabelFunction: CompiledTbFunction; } export declare const defaultTripAnimationMarkersSettings: TripAnimationMarkerSettings; export interface PolygonSettings { @@ -216,28 +216,28 @@ export interface PolygonSettings { showPolygonLabel: boolean; usePolygonLabelFunction: boolean; polygonLabel?: string; - polygonLabelFunction?: string; + polygonLabelFunction?: TbFunction; showPolygonTooltip: boolean; showPolygonTooltipAction: ShowTooltipAction; autoClosePolygonTooltip: boolean; usePolygonTooltipFunction: boolean; polygonTooltipPattern?: string; - polygonTooltipFunction?: string; + polygonTooltipFunction?: TbFunction; polygonColor?: string; polygonOpacity?: number; usePolygonColorFunction: boolean; - polygonColorFunction?: string; + polygonColorFunction?: TbFunction; polygonStrokeColor?: string; polygonStrokeOpacity?: number; polygonStrokeWeight?: number; usePolygonStrokeColorFunction: boolean; - polygonStrokeColorFunction?: string; + polygonStrokeColorFunction?: TbFunction; } export interface WidgetPolygonSettings extends PolygonSettings, WidgetToolipSettings { - parsedPolygonLabelFunction: GenericFunction; - parsedPolygonTooltipFunction: GenericFunction; - parsedPolygonColorFunction: GenericFunction; - parsedPolygonStrokeColorFunction: GenericFunction; + parsedPolygonLabelFunction: CompiledTbFunction; + parsedPolygonTooltipFunction: CompiledTbFunction; + parsedPolygonColorFunction: CompiledTbFunction; + parsedPolygonStrokeColorFunction: CompiledTbFunction; polygonClick: { [name: string]: actionsHandler; }; @@ -250,28 +250,28 @@ export interface CircleSettings { showCircleLabel: boolean; useCircleLabelFunction: boolean; circleLabel?: string; - circleLabelFunction?: string; + circleLabelFunction?: TbFunction; showCircleTooltip: boolean; showCircleTooltipAction: ShowTooltipAction; autoCloseCircleTooltip: boolean; useCircleTooltipFunction: boolean; circleTooltipPattern?: string; - circleTooltipFunction?: string; + circleTooltipFunction?: TbFunction; circleFillColor?: string; circleFillColorOpacity?: number; useCircleFillColorFunction: boolean; - circleFillColorFunction?: string; + circleFillColorFunction?: TbFunction; circleStrokeColor?: string; circleStrokeOpacity?: number; circleStrokeWeight?: number; useCircleStrokeColorFunction: boolean; - circleStrokeColorFunction?: string; + circleStrokeColorFunction?: TbFunction; } export interface WidgetCircleSettings extends CircleSettings, WidgetToolipSettings { - parsedCircleLabelFunction: GenericFunction; - parsedCircleTooltipFunction: GenericFunction; - parsedCircleFillColorFunction: GenericFunction; - parsedCircleStrokeColorFunction: GenericFunction; + parsedCircleLabelFunction: CompiledTbFunction; + parsedCircleTooltipFunction: CompiledTbFunction; + parsedCircleFillColorFunction: CompiledTbFunction; + parsedCircleStrokeColorFunction: CompiledTbFunction; circleClick: { [name: string]: actionsHandler; }; @@ -285,13 +285,13 @@ export declare const polylineDecoratorSymbolTranslationMap: Map; + parsedStrokeOpacityFunction: CompiledTbFunction; + parsedStrokeWeightFunction: CompiledTbFunction; } export declare const defaultRouteMapSettings: PolylineSettings; export declare const defaultTripAnimationPathSettings: PolylineSettings; @@ -312,15 +312,15 @@ export interface PointsSettings { showPoints?: boolean; pointColor?: string; useColorPointFunction?: false; - colorPointFunction?: string; + colorPointFunction?: TbFunction; pointSize?: number; usePointAsAnchor?: false; pointAsAnchorFunction?: string; pointTooltipOnRightPanel?: boolean; } export interface WidgetPointsSettings extends PointsSettings { - parsedColorPointFunction: GenericFunction; - parsedPointAsAnchorFunction: GenericFunction; + parsedColorPointFunction: CompiledTbFunction; + parsedPointAsAnchorFunction: CompiledTbFunction; } export declare const defaultTripAnimationPointSettings: PointsSettings; export interface MarkerClusteringSettings { @@ -334,10 +334,10 @@ export interface MarkerClusteringSettings { chunkedLoading: boolean; removeOutsideVisibleBounds: boolean; useIconCreateFunction: boolean; - clusterMarkerFunction?: string; + clusterMarkerFunction?: TbFunction; } export interface WidgetMarkerClusteringSettings extends MarkerClusteringSettings { - parsedClusterMarkerFunction?: GenericFunction; + parsedClusterMarkerFunction?: CompiledTbFunction; } export declare const defaultMarkerClusteringSettings: MarkerClusteringSettings; export interface MapEditorSettings { diff --git a/src/app/modules/home/components/widget/lib/maps/map-widget2.d.ts b/src/app/modules/home/components/widget/lib/maps/map-widget2.d.ts index 3d39da99..2bd3eff3 100644 --- a/src/app/modules/home/components/widget/lib/maps/map-widget2.d.ts +++ b/src/app/modules/home/components/widget/lib/maps/map-widget2.d.ts @@ -9,7 +9,11 @@ export declare class MapWidgetController implements MapWidgetInterface { mapProvider: MapProviders; private drawRoutes; ctx: WidgetContext; - constructor(mapProvider: MapProviders, drawRoutes: boolean, ctx: WidgetContext, $element: HTMLElement, isEdit?: boolean); + private updatePending; + private latestUpdatePending; + private resizePending; + private destroyed; + constructor(mapProvider: MapProviders, drawRoutes: boolean, ctx: WidgetContext, $element: HTMLElement, isEdit?: boolean, mapLoaded?: (map: LeafletMap) => void); map: LeafletMap; provider: MapProviders; schema: JsonSettingsSchema; @@ -28,7 +32,7 @@ export declare class MapWidgetController implements MapWidgetInterface { saveLocation(e: FormattedData, values: { [key: string]: any; }): Observable; - initSettings(settings: UnitedMapSettings, isEditMap?: boolean): WidgetUnitedMapSettings; + initSettings(settings: UnitedMapSettings, isEditMap?: boolean): Promise; update(): void; latestDataUpdate(): void; resize(): void; diff --git a/src/app/modules/home/components/widget/lib/maps/maps-utils.d.ts b/src/app/modules/home/components/widget/lib/maps/maps-utils.d.ts index cb190c00..47a92bfc 100644 --- a/src/app/modules/home/components/widget/lib/maps/maps-utils.d.ts +++ b/src/app/modules/home/components/widget/lib/maps/maps-utils.d.ts @@ -1,6 +1,7 @@ import L from 'leaflet'; import { GenericFunction, ShowTooltipAction, WidgetToolipSettings } from './map-models'; import { Datasource, FormattedData } from '@app/shared/models/widget.models'; +import { CompiledTbFunction } from '@shared/models/js-function.models'; export declare function createTooltip(target: L.Layer, settings: Partial, datasource: Datasource, autoClose?: boolean, showTooltipAction?: ShowTooltipAction, content?: string | HTMLElement): L.Popup; export declare function bindPopupActions(popup: L.Popup, settings: Partial, datasource: Datasource): void; export declare function isCutPolygon(data: any): boolean; @@ -8,7 +9,7 @@ export declare function isJSON(data: string): boolean; export interface LabelSettings { showLabel: boolean; useLabelFunction: boolean; - parsedLabelFunction: GenericFunction; + parsedLabelFunction: CompiledTbFunction; label: string; } export declare function entitiesParseName(entities: FormattedData[], labelSettings: LabelSettings): FormattedData[]; diff --git a/src/app/modules/home/components/widget/lib/maps/providers/image-map.d.ts b/src/app/modules/home/components/widget/lib/maps/providers/image-map.d.ts index a8cf6869..5bacfc00 100644 --- a/src/app/modules/home/components/widget/lib/maps/providers/image-map.d.ts +++ b/src/app/modules/home/components/widget/lib/maps/providers/image-map.d.ts @@ -3,13 +3,14 @@ import LeafletMap from '../leaflet-map'; import { CircleData, PosFunction, WidgetUnitedMapSettings } from '../map-models'; import { WidgetContext } from '@home/models/widget-component.models'; import { FormattedData } from '@shared/models/widget.models'; +import { CompiledTbFunction } from '@shared/models/js-function.models'; export declare class ImageMap extends LeafletMap { imageOverlay: L.ImageOverlay; aspect: number; width: number; height: number; imageUrl: string; - posFunction: PosFunction; + posFunction: CompiledTbFunction; private mapUuid; constructor(ctx: WidgetContext, $container: HTMLElement, options: WidgetUnitedMapSettings); private mapImage; diff --git a/src/app/modules/home/components/widget/lib/markdown-widget.component.d.ts b/src/app/modules/home/components/widget/lib/markdown-widget.component.d.ts index 21fc2f79..1aee9bb6 100644 --- a/src/app/modules/home/components/widget/lib/markdown-widget.component.d.ts +++ b/src/app/modules/home/components/widget/lib/markdown-widget.component.d.ts @@ -5,11 +5,13 @@ import { Store } from '@ngrx/store'; import { AppState } from '@core/core.state'; import { FormattedData } from '@shared/models/widget.models'; import { UtilsService } from '@core/services/utils.service'; +import { CompiledTbFunction, TbFunction } from '@shared/models/js-function.models'; +import { Observable } from 'rxjs'; import * as i0 from "@angular/core"; interface MarkdownWidgetSettings { markdownTextPattern: string; useMarkdownTextFunction: boolean; - markdownTextFunction: string; + markdownTextFunction: TbFunction; applyDefaultMarkdownStyle: boolean; markdownCss: string; } @@ -21,7 +23,7 @@ export declare class MarkdownWidgetComponent extends PageComponent implements On widgetComponentsModule: Type; private cd; settings: MarkdownWidgetSettings; - markdownTextFunction: MarkdownTextFunction; + markdownTextFunction: Observable>; markdownClass: string; ctx: WidgetContext; markdownText: string; @@ -30,6 +32,7 @@ export declare class MarkdownWidgetComponent extends PageComponent implements On constructor(store: Store, utils: UtilsService, homeComponentsModule: Type, widgetComponentsModule: Type, cd: ChangeDetectorRef); ngOnInit(): void; onDataUpdated(): void; + private updateMarkdownText; markdownClick($event: MouseEvent): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; diff --git a/src/app/modules/home/components/widget/lib/mobile-app-qrcode-widget.component.d.ts b/src/app/modules/home/components/widget/lib/mobile-app-qrcode-widget.component.d.ts index 8a334497..491c1cb5 100644 --- a/src/app/modules/home/components/widget/lib/mobile-app-qrcode-widget.component.d.ts +++ b/src/app/modules/home/components/widget/lib/mobile-app-qrcode-widget.component.d.ts @@ -2,7 +2,7 @@ import { ChangeDetectorRef, ElementRef, NgZone, OnDestroy, OnInit, TemplateRef } import { PageComponent } from '@shared/components/page.component'; import { AppState } from '@core/core.state'; import { Store } from '@ngrx/store'; -import { BadgePosition, MobileAppSettings } from '@shared/models/mobile-app.models'; +import { BadgePosition, QrCodeSettings } from '@shared/models/mobile-app.models'; import { MobileApplicationService } from '@core/http/mobile-application.service'; import { WidgetContext } from '@home/models/widget-component.models'; import { UtilsService } from '@core/services/utils.service'; @@ -37,12 +37,12 @@ export declare class MobileAppQrcodeWidgetComponent extends PageComponent implem qrCodeSVG: string; ctx: WidgetContext; widgetTitlePanel: TemplateRef; - set mobileAppSettings(settings: MobileAppSettings); - get mobileAppSettings(): MobileAppSettings; + set mobileAppSettings(settings: QrCodeSettings); + get mobileAppSettings(): QrCodeSettings; constructor(store: Store, cd: ChangeDetectorRef, mobileAppService: MobileApplicationService, utilsService: UtilsService, elementRef: ElementRef, imagePipe: ImagePipe, sanitizer: DomSanitizer, zone: NgZone); ngOnInit(): void; ngOnDestroy(): void; - navigateByDeepLink($event: any): void; + navigateByDeepLink($event: Event): void; private initMobileAppQRCode; private updateQRCode; static ɵfac: i0.ɵɵFactoryDeclaration; diff --git a/src/app/modules/home/components/widget/lib/qrcode-widget.component.d.ts b/src/app/modules/home/components/widget/lib/qrcode-widget.component.d.ts index 9419f36b..648b1915 100644 --- a/src/app/modules/home/components/widget/lib/qrcode-widget.component.d.ts +++ b/src/app/modules/home/components/widget/lib/qrcode-widget.component.d.ts @@ -4,18 +4,20 @@ import { WidgetContext } from '@home/models/widget-component.models'; import { Store } from '@ngrx/store'; import { AppState } from '@core/core.state'; import { FormattedData } from '@shared/models/widget.models'; +import { CompiledTbFunction, TbFunction } from '@shared/models/js-function.models'; +import { Observable } from 'rxjs'; import * as i0 from "@angular/core"; interface QrCodeWidgetSettings { qrCodeTextPattern: string; useQrCodeTextFunction: boolean; - qrCodeTextFunction: string; + qrCodeTextFunction: TbFunction; } type QrCodeTextFunction = (data: FormattedData[]) => string; export declare class QrCodeWidgetComponent extends PageComponent implements OnInit, AfterViewInit { protected store: Store; protected cd: ChangeDetectorRef; settings: QrCodeWidgetSettings; - qrCodeTextFunction: QrCodeTextFunction; + qrCodeTextFunction: Observable>; ctx: WidgetContext; qrCodeText: string; invalidQrCodeText: boolean; diff --git a/src/app/modules/home/components/widget/lib/settings/button/segmented-button-widget-settings.component.d.ts b/src/app/modules/home/components/widget/lib/settings/button/segmented-button-widget-settings.component.d.ts new file mode 100644 index 00000000..3bae4a95 --- /dev/null +++ b/src/app/modules/home/components/widget/lib/settings/button/segmented-button-widget-settings.component.d.ts @@ -0,0 +1,30 @@ +import { TargetDevice, WidgetSettings, WidgetSettingsComponent, widgetType } from '@shared/models/widget.models'; +import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; +import { Store } from '@ngrx/store'; +import { AppState } from '@core/core.state'; +import { ValueType } from '@shared/models/constants'; +import { SegmentedButtonAppearanceType, SegmentedButtonColorStylesType, WidgetButtonToggleState } from '@home/components/widget/lib/button/segmented-button-widget.models'; +import * as i0 from "@angular/core"; +export declare class SegmentedButtonWidgetSettingsComponent extends WidgetSettingsComponent { + protected store: Store; + private fb; + get targetDevice(): TargetDevice; + get widgetType(): widgetType; + get borderRadius(): string; + segmentedButtonAppearanceType: SegmentedButtonAppearanceType; + segmentedButtonColorStylesType: SegmentedButtonColorStylesType; + widgetButtonToggleStates: WidgetButtonToggleState[]; + widgetButtonToggleStatesTranslationsMap: Map; + segmentedButtonLayouts: import("@home/components/widget/lib/button/segmented-button-widget.models").SegmentedButtonLayout[]; + segmentedButtonLayoutTranslationMap: Map; + segmentedButtonLayoutImageMap: Map; + segmentedButtonLayoutBorderMap: Map; + valueType: typeof ValueType; + segmentedButtonWidgetSettingsForm: UntypedFormGroup; + constructor(store: Store, fb: UntypedFormBuilder); + protected settingsForm(): UntypedFormGroup; + protected defaultSettings(): WidgetSettings; + protected onSettingsSet(settings: WidgetSettings): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/modules/home/components/widget/lib/settings/common/action/get-value-action-settings-panel.component.d.ts b/src/app/modules/home/components/widget/lib/settings/common/action/get-value-action-settings-panel.component.d.ts index d87ec591..7398c4f6 100644 --- a/src/app/modules/home/components/widget/lib/settings/common/action/get-value-action-settings-panel.component.d.ts +++ b/src/app/modules/home/components/widget/lib/settings/common/action/get-value-action-settings-panel.component.d.ts @@ -10,6 +10,8 @@ import { TargetDevice, widgetType } from '@shared/models/widget.models'; import { AttributeScope, DataKeyType } from '@shared/models/telemetry/telemetry.models'; import { IAliasController } from '@core/api/widget-api.models'; import { WidgetService } from '@core/http/widget.service'; +import { AlarmSeverity } from '@shared/models/alarm.models'; +import { EntityType } from '@shared/models/entity-type.models'; import * as i0 from "@angular/core"; export declare class GetValueActionSettingsPanelComponent extends PageComponent implements OnInit { private fb; @@ -36,11 +38,14 @@ export declare class GetValueActionSettingsPanelComponent extends PageComponent functionScopeVariables: string[]; ValueType: typeof ValueType; getValueSettingsFormGroup: UntypedFormGroup; + alarmSeverities: AlarmSeverity[]; + alarmSeverityTranslationMap: Map; constructor(fb: UntypedFormBuilder, widgetService: WidgetService, store: Store); ngOnInit(): void; cancel(): void; applyGetValueSettings(): void; private updateValidators; + protected readonly entityType: typeof EntityType; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } diff --git a/src/app/modules/home/components/widget/lib/settings/common/action/mobile-action-editor.models.d.ts b/src/app/modules/home/components/widget/lib/settings/common/action/mobile-action-editor.models.d.ts index 2f9f2ef2..835abcf6 100644 --- a/src/app/modules/home/components/widget/lib/settings/common/action/mobile-action-editor.models.d.ts +++ b/src/app/modules/home/components/widget/lib/settings/common/action/mobile-action-editor.models.d.ts @@ -1,9 +1,10 @@ import { WidgetMobileActionType } from '@shared/models/widget.models'; -export declare const getDefaultProcessImageFunction: (type: WidgetMobileActionType) => string; -export declare const getDefaultProcessLaunchResultFunction: (type: WidgetMobileActionType) => string; +import { TbFunction } from '@shared/models/js-function.models'; +export declare const getDefaultProcessImageFunction: (type: WidgetMobileActionType) => TbFunction; +export declare const getDefaultProcessLaunchResultFunction: (type: WidgetMobileActionType) => TbFunction; export declare const getDefaultProcessQrCodeFunction: () => string; export declare const getDefaultProcessLocationFunction: () => string; export declare const getDefaultGetLocationFunction: () => string; export declare const getDefaultGetPhoneNumberFunction: () => string; -export declare const getDefaultHandleEmptyResultFunction: (type: WidgetMobileActionType) => string; -export declare const getDefaultHandleErrorFunction: (type: WidgetMobileActionType) => string; +export declare const getDefaultHandleEmptyResultFunction: (type: WidgetMobileActionType) => TbFunction; +export declare const getDefaultHandleErrorFunction: (type: WidgetMobileActionType) => TbFunction; diff --git a/src/app/modules/home/components/widget/lib/settings/common/button/widget-button-toggle-custom-style-panel.component.d.ts b/src/app/modules/home/components/widget/lib/settings/common/button/widget-button-toggle-custom-style-panel.component.d.ts new file mode 100644 index 00000000..211e3107 --- /dev/null +++ b/src/app/modules/home/components/widget/lib/settings/common/button/widget-button-toggle-custom-style-panel.component.d.ts @@ -0,0 +1,41 @@ +import { ChangeDetectorRef, EventEmitter, OnInit } from '@angular/core'; +import { PageComponent } from '@shared/components/page.component'; +import { TbPopoverComponent } from '@shared/components/popover.component'; +import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; +import { Store } from '@ngrx/store'; +import { AppState } from '@core/core.state'; +import { WidgetButtonToggleComponent } from '@shared/components/button/widget-button-toggle.component'; +import { ButtonToggleAppearance, SegmentedButtonStyles, WidgetButtonToggleCustomStyle, WidgetButtonToggleState } from '@home/components/widget/lib/button/segmented-button-widget.models'; +import * as i0 from "@angular/core"; +export declare class WidgetButtonToggleCustomStylePanelComponent extends PageComponent implements OnInit { + private fb; + protected store: Store; + private cd; + widgetButtonTogglePreview: WidgetButtonToggleComponent; + appearance: ButtonToggleAppearance; + value: boolean; + borderRadius: string; + autoScale: boolean; + state: WidgetButtonToggleState; + customStyle: WidgetButtonToggleCustomStyle; + private popoverValue; + set popover(popover: TbPopoverComponent); + get popover(): TbPopoverComponent; + customStyleApplied: EventEmitter; + widgetButtonToggleStatesTranslationsMap: Map; + WidgetButtonToggleState: typeof WidgetButtonToggleState; + previewAppearance: ButtonToggleAppearance; + copyFromStates: WidgetButtonToggleState[]; + customStyleFormGroup: UntypedFormGroup; + style: SegmentedButtonStyles; + constructor(fb: UntypedFormBuilder, store: Store, cd: ChangeDetectorRef); + ngOnInit(): void; + copyStyle(state: WidgetButtonToggleState): void; + cancel(): void; + applyCustomStyle(): void; + private setStyle; + private updateValidators; + private updatePreviewAppearance; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/modules/home/components/widget/lib/settings/common/button/widget-button-toggle-custom-style.component.d.ts b/src/app/modules/home/components/widget/lib/settings/common/button/widget-button-toggle-custom-style.component.d.ts new file mode 100644 index 00000000..8d93c1de --- /dev/null +++ b/src/app/modules/home/components/widget/lib/settings/common/button/widget-button-toggle-custom-style.component.d.ts @@ -0,0 +1,35 @@ +import { ChangeDetectorRef, OnChanges, OnInit, Renderer2, SimpleChanges, ViewContainerRef } from '@angular/core'; +import { ControlValueAccessor } from '@angular/forms'; +import { TbPopoverService } from '@shared/components/popover.service'; +import { MatIconButton } from '@angular/material/button'; +import { ButtonToggleAppearance, WidgetButtonToggleCustomStyle, WidgetButtonToggleState } from '@home/components/widget/lib/button/segmented-button-widget.models'; +import * as i0 from "@angular/core"; +export declare class WidgetButtonToggleCustomStyleComponent implements OnInit, OnChanges, ControlValueAccessor { + private popoverService; + private renderer; + private viewContainerRef; + private cd; + disabled: boolean; + value: boolean; + appearance: ButtonToggleAppearance; + borderRadius: string; + autoScale: boolean; + state: WidgetButtonToggleState; + widgetButtonToggleState: typeof WidgetButtonToggleState; + modelValue: WidgetButtonToggleCustomStyle; + previewAppearance: ButtonToggleAppearance; + private propagateChange; + constructor(popoverService: TbPopoverService, renderer: Renderer2, viewContainerRef: ViewContainerRef, cd: ChangeDetectorRef); + ngOnInit(): void; + ngOnChanges(changes: SimpleChanges): void; + registerOnChange(fn: any): void; + registerOnTouched(fn: any): void; + setDisabledState(_isDisabled: boolean): void; + writeValue(value: WidgetButtonToggleCustomStyle): void; + clearStyle(): void; + openButtonCustomStylePopup($event: Event, matButton: MatIconButton): void; + private updateModel; + private updatePreviewAppearance; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/modules/home/components/widget/lib/settings/common/widget-settings-common.module.d.ts b/src/app/modules/home/components/widget/lib/settings/common/widget-settings-common.module.d.ts index 08808228..6629f11c 100644 --- a/src/app/modules/home/components/widget/lib/settings/common/widget-settings-common.module.d.ts +++ b/src/app/modules/home/components/widget/lib/settings/common/widget-settings-common.module.d.ts @@ -33,34 +33,36 @@ import * as i31 from "@home/components/widget/lib/settings/common/action/widget- import * as i32 from "@home/components/widget/lib/settings/common/action/widget-action-settings-panel.component"; import * as i33 from "@home/components/widget/lib/settings/common/button/widget-button-appearance.component"; import * as i34 from "@home/components/widget/lib/settings/common/button/widget-button-custom-style.component"; -import * as i35 from "@home/components/widget/lib/settings/common/button/widget-button-custom-style-panel.component"; -import * as i36 from "@home/components/widget/lib/settings/common/chart/time-series-chart-axis-settings.component"; -import * as i37 from "@home/components/widget/lib/settings/common/chart/time-series-chart-thresholds-panel.component"; -import * as i38 from "@home/components/widget/lib/settings/common/chart/time-series-chart-threshold-row.component"; -import * as i39 from "@home/components/widget/lib/settings/common/chart/time-series-chart-threshold-settings-panel.component"; -import * as i40 from "@home/components/widget/lib/settings/common/chart/time-series-no-aggregation-bar-width-settings.component"; -import * as i41 from "@home/components/widget/lib/settings/common/chart/time-series-chart-y-axes-panel.component"; -import * as i42 from "@home/components/widget/lib/settings/common/chart/time-series-chart-y-axis-row.component"; -import * as i43 from "@home/components/widget/lib/settings/common/chart/time-series-chart-axis-settings-panel.component"; -import * as i44 from "@home/components/widget/lib/settings/common/chart/time-series-chart-axis-settings-button.component"; -import * as i45 from "@home/components/widget/lib/settings/common/chart/chart-animation-settings.component"; -import * as i46 from "@home/components/widget/lib/settings/common/chart/chart-fill-settings.component"; -import * as i47 from "@home/components/widget/lib/settings/common/chart/chart-bar-settings.component"; -import * as i48 from "@home/components/widget/lib/settings/common/chart/time-series-chart-threshold-settings.component"; -import * as i49 from "@home/components/widget/lib/settings/common/chart/time-series-chart-states-panel.component"; -import * as i50 from "@home/components/widget/lib/settings/common/chart/time-series-chart-state-row.component"; -import * as i51 from "@home/components/widget/lib/settings/common/chart/time-series-chart-grid-settings.component"; -import * as i52 from "@home/components/widget/lib/settings/common/indicator/status-widget-state-settings.component"; -import * as i53 from "@home/components/widget/lib/settings/common/scada/scada-symbol-object-settings.component"; -import * as i54 from "@home/components/widget/lib/settings/common/data-key-input.component"; -import * as i55 from "@home/components/widget/lib/settings/common/entity-alias-input.component"; -import * as i56 from "@home/components/widget/lib/settings/common/advanced-range.component"; -import * as i57 from "@home/components/widget/lib/settings/common/gradient.component"; -import * as i58 from "@angular/common"; -import * as i59 from "@shared/shared.module"; -import * as i60 from "@home/components/shared-home-components.module"; +import * as i35 from "@home/components/widget/lib/settings/common/button/widget-button-toggle-custom-style.component"; +import * as i36 from "@home/components/widget/lib/settings/common/button/widget-button-custom-style-panel.component"; +import * as i37 from "@home/components/widget/lib/settings/common/button/widget-button-toggle-custom-style-panel.component"; +import * as i38 from "@home/components/widget/lib/settings/common/chart/time-series-chart-axis-settings.component"; +import * as i39 from "@home/components/widget/lib/settings/common/chart/time-series-chart-thresholds-panel.component"; +import * as i40 from "@home/components/widget/lib/settings/common/chart/time-series-chart-threshold-row.component"; +import * as i41 from "@home/components/widget/lib/settings/common/chart/time-series-chart-threshold-settings-panel.component"; +import * as i42 from "@home/components/widget/lib/settings/common/chart/time-series-no-aggregation-bar-width-settings.component"; +import * as i43 from "@home/components/widget/lib/settings/common/chart/time-series-chart-y-axes-panel.component"; +import * as i44 from "@home/components/widget/lib/settings/common/chart/time-series-chart-y-axis-row.component"; +import * as i45 from "@home/components/widget/lib/settings/common/chart/time-series-chart-axis-settings-panel.component"; +import * as i46 from "@home/components/widget/lib/settings/common/chart/time-series-chart-axis-settings-button.component"; +import * as i47 from "@home/components/widget/lib/settings/common/chart/chart-animation-settings.component"; +import * as i48 from "@home/components/widget/lib/settings/common/chart/chart-fill-settings.component"; +import * as i49 from "@home/components/widget/lib/settings/common/chart/chart-bar-settings.component"; +import * as i50 from "@home/components/widget/lib/settings/common/chart/time-series-chart-threshold-settings.component"; +import * as i51 from "@home/components/widget/lib/settings/common/chart/time-series-chart-states-panel.component"; +import * as i52 from "@home/components/widget/lib/settings/common/chart/time-series-chart-state-row.component"; +import * as i53 from "@home/components/widget/lib/settings/common/chart/time-series-chart-grid-settings.component"; +import * as i54 from "@home/components/widget/lib/settings/common/indicator/status-widget-state-settings.component"; +import * as i55 from "@home/components/widget/lib/settings/common/scada/scada-symbol-object-settings.component"; +import * as i56 from "@home/components/widget/lib/settings/common/data-key-input.component"; +import * as i57 from "@home/components/widget/lib/settings/common/entity-alias-input.component"; +import * as i58 from "@home/components/widget/lib/settings/common/advanced-range.component"; +import * as i59 from "@home/components/widget/lib/settings/common/gradient.component"; +import * as i60 from "@angular/common"; +import * as i61 from "@shared/shared.module"; +import * as i62 from "@home/components/shared-home-components.module"; export declare class WidgetSettingsCommonModule { static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } diff --git a/src/app/modules/home/components/widget/lib/settings/widget-settings.module.d.ts b/src/app/modules/home/components/widget/lib/settings/widget-settings.module.d.ts index c5d95d00..820b1748 100644 --- a/src/app/modules/home/components/widget/lib/settings/widget-settings.module.d.ts +++ b/src/app/modules/home/components/widget/lib/settings/widget-settings.module.d.ts @@ -113,32 +113,33 @@ import * as i109 from "@home/components/widget/lib/settings/chart/range-chart-wi import * as i110 from "@home/components/widget/lib/settings/chart/bar-chart-with-labels-widget-settings.component"; import * as i111 from "@home/components/widget/lib/settings/control/single-switch-widget-settings.component"; import * as i112 from "@home/components/widget/lib/settings/button/action-button-widget-settings.component"; -import * as i113 from "@home/components/widget/lib/settings/button/command-button-widget-settings.component"; -import * as i114 from "@home/components/widget/lib/settings/button/power-button-widget-settings.component"; -import * as i115 from "@home/components/widget/lib/settings/control/slider-widget-settings.component"; -import * as i116 from "@home/components/widget/lib/settings/button/toggle-button-widget-settings.component"; -import * as i117 from "@home/components/widget/lib/settings/chart/time-series-chart-key-settings.component"; -import * as i118 from "@home/components/widget/lib/settings/chart/time-series-chart-line-settings.component"; -import * as i119 from "@home/components/widget/lib/settings/chart/time-series-chart-widget-settings.component"; -import * as i120 from "@home/components/widget/lib/settings/indicator/status-widget-settings.component"; -import * as i121 from "@home/components/widget/lib/settings/chart/pie-chart-widget-settings.component"; -import * as i122 from "@home/components/widget/lib/settings/chart/bar-chart-widget-settings.component"; -import * as i123 from "@home/components/widget/lib/settings/chart/polar-area-chart-widget-settings.component"; -import * as i124 from "@home/components/widget/lib/settings/chart/radar-chart-widget-settings.component"; -import * as i125 from "@home/components/widget/lib/settings/cards/label-card-widget-settings.component"; -import * as i126 from "@home/components/widget/lib/settings/cards/label-value-card-widget-settings.component"; -import * as i127 from "@home/components/widget/lib/settings/cards/unread-notification-widget-settings.component"; -import * as i128 from "@home/components/widget/lib/settings/scada/scada-symbol-widget-settings.component"; -import * as i129 from "@home/components/widget/lib/settings/files/blob-entities-widget-settings.component"; -import * as i130 from "@home/components/widget/lib/settings/scheduler/custom-scheduler-event-type.component"; -import * as i131 from "@home/components/widget/lib/settings/scheduler/scheduler-events-widget-settings.component"; -import * as i132 from "@angular/common"; -import * as i133 from "@shared/shared.module"; -import * as i134 from "@home/components/shared-home-components.module"; -import * as i135 from "@home/components/widget/lib/settings/common/widget-settings-common.module"; +import * as i113 from "@home/components/widget/lib/settings/button/segmented-button-widget-settings.component"; +import * as i114 from "@home/components/widget/lib/settings/button/command-button-widget-settings.component"; +import * as i115 from "@home/components/widget/lib/settings/button/power-button-widget-settings.component"; +import * as i116 from "@home/components/widget/lib/settings/control/slider-widget-settings.component"; +import * as i117 from "@home/components/widget/lib/settings/button/toggle-button-widget-settings.component"; +import * as i118 from "@home/components/widget/lib/settings/chart/time-series-chart-key-settings.component"; +import * as i119 from "@home/components/widget/lib/settings/chart/time-series-chart-line-settings.component"; +import * as i120 from "@home/components/widget/lib/settings/chart/time-series-chart-widget-settings.component"; +import * as i121 from "@home/components/widget/lib/settings/indicator/status-widget-settings.component"; +import * as i122 from "@home/components/widget/lib/settings/chart/pie-chart-widget-settings.component"; +import * as i123 from "@home/components/widget/lib/settings/chart/bar-chart-widget-settings.component"; +import * as i124 from "@home/components/widget/lib/settings/chart/polar-area-chart-widget-settings.component"; +import * as i125 from "@home/components/widget/lib/settings/chart/radar-chart-widget-settings.component"; +import * as i126 from "@home/components/widget/lib/settings/cards/label-card-widget-settings.component"; +import * as i127 from "@home/components/widget/lib/settings/cards/label-value-card-widget-settings.component"; +import * as i128 from "@home/components/widget/lib/settings/cards/unread-notification-widget-settings.component"; +import * as i129 from "@home/components/widget/lib/settings/scada/scada-symbol-widget-settings.component"; +import * as i130 from "@home/components/widget/lib/settings/files/blob-entities-widget-settings.component"; +import * as i131 from "@home/components/widget/lib/settings/scheduler/custom-scheduler-event-type.component"; +import * as i132 from "@home/components/widget/lib/settings/scheduler/scheduler-events-widget-settings.component"; +import * as i133 from "@angular/common"; +import * as i134 from "@shared/shared.module"; +import * as i135 from "@home/components/shared-home-components.module"; +import * as i136 from "@home/components/widget/lib/settings/common/widget-settings-common.module"; export declare class WidgetSettingsModule { static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export declare const widgetSettingsComponentsMap: { diff --git a/src/app/modules/home/components/widget/lib/table-widget.models.d.ts b/src/app/modules/home/components/widget/lib/table-widget.models.d.ts index 53c5aeee..e177497d 100644 --- a/src/app/modules/home/components/widget/lib/table-widget.models.d.ts +++ b/src/app/modules/home/components/widget/lib/table-widget.models.d.ts @@ -6,6 +6,8 @@ import { WidgetContext } from '@home/models/widget-component.models'; import { UtilsService } from '@core/services/utils.service'; import { TranslateService } from '@ngx-translate/core'; import { EntityType } from '@shared/models/entity-type.models'; +import { CompiledTbFunction, TbFunction } from '@shared/models/js-function.models'; +import { Observable } from 'rxjs'; type ColumnVisibilityOptions = 'visible' | 'hidden' | 'hidden-mobile'; type ColumnSelectionOptions = 'enabled' | 'disabled'; export declare enum columnExportOptions { @@ -22,17 +24,17 @@ export interface TableWidgetSettings { displayPagination: boolean; defaultPageSize: number; useRowStyleFunction: boolean; - rowStyleFunction?: string; + rowStyleFunction?: TbFunction; reserveSpaceForHiddenAction?: boolean; } export interface TableWidgetDataKeySettings { customTitle?: string; columnWidth?: string; useCellStyleFunction: boolean; - cellStyleFunction?: string; + cellStyleFunction?: TbFunction; useCellContentFunction: boolean; useCellContentFunctionOnExport: boolean; - cellContentFunction?: string; + cellContentFunction?: TbFunction; defaultColumnVisibility?: ColumnVisibilityOptions; columnSelectionToDisplay?: ColumnSelectionOptions; columnExportOption?: columnExportOptions; @@ -40,7 +42,7 @@ export interface TableWidgetDataKeySettings { export type ShowCellButtonActionFunction = (ctx: WidgetContext, data: EntityData | AlarmDataInfo | FormattedData) => boolean; export interface TableCellButtonActionDescriptor extends WidgetActionDescriptor { useShowActionCellButtonFunction: boolean; - showActionCellButtonFunction: ShowCellButtonActionFunction; + showActionCellButtonFunction: CompiledTbFunction; } export interface EntityData { id: EntityId; @@ -65,22 +67,25 @@ export interface DisplayColumn { includeToExport?: columnExportOptions; } export type CellContentFunction = (...args: any[]) => string; -export interface CellContentInfo { +export interface CellContentFunctionInfo { useCellContentFunction: boolean; useCellContentFunctionOnExport?: boolean; - cellContentFunction?: CellContentFunction; + cellContentFunction?: CompiledTbFunction; +} +export interface CellContentInfo { + contentFunction: Observable; units?: string; decimals?: number; } export type CellStyleFunction = (...args: any[]) => any; export interface CellStyleInfo { useCellStyleFunction: boolean; - cellStyleFunction?: CellStyleFunction; + cellStyleFunction?: CompiledTbFunction; } export type RowStyleFunction = (...args: any[]) => any; export interface RowStyleInfo { useRowStyleFunction: boolean; - rowStyleFunction?: RowStyleFunction; + rowStyleFunction?: CompiledTbFunction; } export declare function entityDataSortOrderFromString(strSortOrder: string, columns: EntityColumn[]): EntityDataSortOrder; export declare function findColumnByEntityKey(key: EntityKey, columns: EntityColumn[]): EntityColumn; @@ -97,14 +102,14 @@ export declare function toAlarmColumnDef(name: string, columns: EntityColumn[]): export declare function fromAlarmColumnDef(def: string, columns: EntityColumn[]): string; export declare function getEntityValue(entity: any, key: DataKey): any; export declare function getAlarmValue(alarm: AlarmDataInfo, key: EntityColumn): any; -export declare function getRowStyleInfo(settings: TableWidgetSettings, ...args: string[]): RowStyleInfo; -export declare function getCellStyleInfo(keySettings: TableWidgetDataKeySettings, ...args: string[]): CellStyleInfo; -export declare function getCellContentInfo(keySettings: TableWidgetDataKeySettings, ...args: string[]): CellContentInfo; +export declare function getRowStyleInfo(widgetContext: WidgetContext, settings: TableWidgetSettings, ...args: string[]): Observable; +export declare function getCellStyleInfo(widgetContext: WidgetContext, keySettings: TableWidgetDataKeySettings, ...args: string[]): Observable; +export declare function getCellContentFunctionInfo(widgetContext: WidgetContext, keySettings: TableWidgetDataKeySettings, ...args: string[]): Observable; export declare function getColumnWidth(keySettings: TableWidgetDataKeySettings): string; export declare function widthStyle(width: string): any; export declare function getColumnDefaultVisibility(keySettings: TableWidgetDataKeySettings, ctx?: WidgetContext): boolean; export declare function getColumnSelectionAvailability(keySettings: TableWidgetDataKeySettings): boolean; -export declare function getTableCellButtonActions(widgetContext: WidgetContext): TableCellButtonActionDescriptor[]; +export declare function getTableCellButtonActions(widgetContext: WidgetContext): Observable; export declare function checkHasActions(cellButtonActions: TableCellButtonActionDescriptor[]): boolean; export declare function prepareTableCellButtonActions(widgetContext: WidgetContext, cellButtonActions: TableCellButtonActionDescriptor[], data: EntityData | AlarmDataInfo | FormattedData, reserveSpaceForHiddenAction?: boolean): TableCellButtonActionDescriptor[]; export declare function noDataMessage(noDataDisplayMessage: string, defaultMessage: string, utils: UtilsService, translate: TranslateService): string; diff --git a/src/app/modules/home/components/widget/lib/timeseries-table-widget.component.d.ts b/src/app/modules/home/components/widget/lib/timeseries-table-widget.component.d.ts index e4709cc4..69a6e645 100644 --- a/src/app/modules/home/components/widget/lib/timeseries-table-widget.component.d.ts +++ b/src/app/modules/home/components/widget/lib/timeseries-table-widget.component.d.ts @@ -38,7 +38,7 @@ interface TimeseriesHeader { show: boolean; columnDefaultVisibility?: boolean; columnSelectionAvailability?: boolean; - styleInfo: CellStyleInfo; + styleInfo: Observable; contentInfo: CellContentInfo; order?: number; } @@ -134,9 +134,9 @@ export declare class TimeseriesTableWidgetComponent extends PageComponent implem trackByRowTimestamp(index: number): number; trackByActionCellDescriptionId(index: number, action: WidgetActionDescriptor): string; trackBySourcesIndex(index: number, source: TimeseriesTableSource): string; - rowStyle(source: TimeseriesTableSource, row: TimeseriesRow, index: number): any; - cellStyle(source: TimeseriesTableSource, header: TimeseriesHeader, index: number, row: TimeseriesRow, value: any, rowIndex: number): any; - cellContent(source: TimeseriesTableSource, header: TimeseriesHeader, index: number, row: TimeseriesRow, value: any, rowIndex: number): SafeHtml; + rowStyle(source: TimeseriesTableSource, row: TimeseriesRow, index: number): Observable; + cellStyle(source: TimeseriesTableSource, header: TimeseriesHeader, index: number, row: TimeseriesRow, value: any, rowIndex: number): Observable; + cellContent(source: TimeseriesTableSource, header: TimeseriesHeader, index: number, row: TimeseriesRow, value: any, rowIndex: number): Observable; onRowClick($event: Event, row: TimeseriesRow): void; onActionButtonClick($event: Event, row: TimeseriesRow, actionDescriptor: WidgetActionDescriptor): void; isActiveTab(index: number): boolean; @@ -146,9 +146,7 @@ export declare class TimeseriesTableWidgetComponent extends PageComponent implem private loadCurrentSourceRow; private clearCache; private includeColumnInExport; - customDataExport(): { - [key: string]: any; - }[] | Observable<{ + customDataExport(): Observable<{ [key: string]: any; }[]>; private checkProperty; @@ -168,8 +166,10 @@ declare class TimeseriesDatasource implements DataSource { countCellButtonAction: number; private reserveSpaceForHiddenAction; private cellButtonActions; - private readonly usedShowCellActionFunction; + private usedShowCellActionFunction; + private inited; constructor(source: TimeseriesTableSource, hideEmptyLines: boolean, dateFormatFilter: string, datePipe: DatePipe, widgetContext: WidgetContext); + private init; connect(collectionViewer: CollectionViewer): Observable>; disconnect(collectionViewer: CollectionViewer): void; loadRows(): void; diff --git a/src/app/modules/home/components/widget/lib/trip-animation/trip-animation.component.d.ts b/src/app/modules/home/components/widget/lib/trip-animation/trip-animation.component.d.ts index e7cdfb61..61a28f6a 100644 --- a/src/app/modules/home/components/widget/lib/trip-animation/trip-animation.component.d.ts +++ b/src/app/modules/home/components/widget/lib/trip-animation/trip-animation.component.d.ts @@ -9,6 +9,9 @@ export declare class TripAnimationComponent implements OnInit, AfterViewInit, On private cd; private sanitizer; private mapResize$; + private initialized; + private updatePending; + private mapWidgetUpdatePending; constructor(cd: ChangeDetectorRef, sanitizer: DomSanitizer); ctx: WidgetContext; mapContainer: any; @@ -36,6 +39,10 @@ export declare class TripAnimationComponent implements OnInit, AfterViewInit, On ngAfterViewInit(): void; ngOnDestroy(): void; timeUpdated(time: number): void; + private initializeFunctions; + private update; + private latestDataUpdate; + private updateMapWidget; private updateCurrentData; setActiveTrip(): void; private calculateLastPoints; diff --git a/src/app/modules/home/components/widget/widget-component.service.d.ts b/src/app/modules/home/components/widget/widget-component.service.d.ts index 10aabff1..3e1e43d6 100644 --- a/src/app/modules/home/components/widget/widget-component.service.d.ts +++ b/src/app/modules/home/components/widget/widget-component.service.d.ts @@ -9,6 +9,7 @@ import { Widget } from '@shared/models/widget.models'; import { TranslateService } from '@ngx-translate/core'; import { IModulesMap } from '@modules/common/modules-map.models'; import { ReportService } from '@core/http/report.service'; +import { HttpClient } from '@angular/common/http'; import * as i0 from "@angular/core"; export declare class WidgetComponentService { private window; @@ -19,6 +20,7 @@ export declare class WidgetComponentService { private utils; private resources; private translate; + private http; private reportService; private cssParser; private widgetsInfoFetchQueue; @@ -26,7 +28,7 @@ export declare class WidgetComponentService { private missingWidgetType; private errorWidgetType; private editingWidgetType; - constructor(window: Window, modulesMap: IModulesMap, homeComponentsModule: Type, dynamicComponentFactoryService: DynamicComponentFactoryService, widgetService: WidgetService, utils: UtilsService, resources: ResourcesService, translate: TranslateService, reportService: ReportService); + constructor(window: Window, modulesMap: IModulesMap, homeComponentsModule: Type, dynamicComponentFactoryService: DynamicComponentFactoryService, widgetService: WidgetService, utils: UtilsService, resources: ResourcesService, translate: TranslateService, http: HttpClient, reportService: ReportService); private init; getInstantWidgetInfo(widget: Widget): WidgetInfo; getWidgetInfo(fullFqn: string): Observable; @@ -39,6 +41,6 @@ export declare class WidgetComponentService { private createWidgetControllerDescriptor; private processWidgetLoadError; private resolveWidgetsInfoFetchQueue; - static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } diff --git a/src/app/modules/home/components/widget/widget-components.module.d.ts b/src/app/modules/home/components/widget/widget-components.module.d.ts index c7fa5996..0a1e257c 100644 --- a/src/app/modules/home/components/widget/widget-components.module.d.ts +++ b/src/app/modules/home/components/widget/widget-components.module.d.ts @@ -32,31 +32,32 @@ import * as i30 from "@home/components/widget/lib/chart/range-chart-widget.compo import * as i31 from "@home/components/widget/lib/chart/bar-chart-with-labels-widget.component"; import * as i32 from "@home/components/widget/lib/rpc/single-switch-widget.component"; import * as i33 from "@home/components/widget/lib/button/action-button-widget.component"; -import * as i34 from "@home/components/widget/lib/button/command-button-widget.component"; -import * as i35 from "@home/components/widget/lib/rpc/power-button-widget.component"; -import * as i36 from "@home/components/widget/lib/rpc/slider-widget.component"; -import * as i37 from "@home/components/widget/lib/button/toggle-button-widget.component"; -import * as i38 from "@home/components/widget/lib/chart/time-series-chart-widget.component"; -import * as i39 from "@home/components/widget/lib/indicator/status-widget.component"; -import * as i40 from "@home/components/widget/lib/chart/latest-chart.component"; -import * as i41 from "@home/components/widget/lib/chart/pie-chart-widget.component"; -import * as i42 from "@home/components/widget/lib/chart/bar-chart-widget.component"; -import * as i43 from "@home/components/widget/lib/chart/polar-area-widget.component"; -import * as i44 from "@home/components/widget/lib/chart/radar-chart-widget.component"; -import * as i45 from "@home/components/widget/lib/cards/label-card-widget.component"; -import * as i46 from "@home/components/widget/lib/cards/label-value-card-widget.component"; -import * as i47 from "@home/components/widget/lib/cards/unread-notification-widget.component"; -import * as i48 from "@home/components/widget/lib/cards/notification-type-filter-panel.component"; -import * as i49 from "@home/components/widget/lib/scada/scada-symbol-widget.component"; -import * as i50 from "@angular/common"; -import * as i51 from "@app/shared/shared.module"; -import * as i52 from "@home/components/widget/lib/rpc/rpc-widgets.module"; -import * as i53 from "@home/components/widget/lib/home-page/home-page-widgets.module"; -import * as i54 from "@home/components/shared-home-components.module"; -import * as i55 from "@shared/pipe/key-value-not-empty.pipe"; -import * as i56 from "@shared/directives/ellipsis-chip-list.directive"; +import * as i34 from "@home/components/widget/lib/button/two-segment-button-widget.component"; +import * as i35 from "@home/components/widget/lib/button/command-button-widget.component"; +import * as i36 from "@home/components/widget/lib/rpc/power-button-widget.component"; +import * as i37 from "@home/components/widget/lib/rpc/slider-widget.component"; +import * as i38 from "@home/components/widget/lib/button/toggle-button-widget.component"; +import * as i39 from "@home/components/widget/lib/chart/time-series-chart-widget.component"; +import * as i40 from "@home/components/widget/lib/indicator/status-widget.component"; +import * as i41 from "@home/components/widget/lib/chart/latest-chart.component"; +import * as i42 from "@home/components/widget/lib/chart/pie-chart-widget.component"; +import * as i43 from "@home/components/widget/lib/chart/bar-chart-widget.component"; +import * as i44 from "@home/components/widget/lib/chart/polar-area-widget.component"; +import * as i45 from "@home/components/widget/lib/chart/radar-chart-widget.component"; +import * as i46 from "@home/components/widget/lib/cards/label-card-widget.component"; +import * as i47 from "@home/components/widget/lib/cards/label-value-card-widget.component"; +import * as i48 from "@home/components/widget/lib/cards/unread-notification-widget.component"; +import * as i49 from "@home/components/widget/lib/cards/notification-type-filter-panel.component"; +import * as i50 from "@home/components/widget/lib/scada/scada-symbol-widget.component"; +import * as i51 from "@angular/common"; +import * as i52 from "@app/shared/shared.module"; +import * as i53 from "@home/components/widget/lib/rpc/rpc-widgets.module"; +import * as i54 from "@home/components/widget/lib/home-page/home-page-widgets.module"; +import * as i55 from "@home/components/shared-home-components.module"; +import * as i56 from "@shared/pipe/key-value-not-empty.pipe"; +import * as i57 from "@shared/directives/ellipsis-chip-list.directive"; export declare class WidgetComponentsModule { static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } diff --git a/src/app/modules/home/components/widget/widget-config.component.d.ts b/src/app/modules/home/components/widget/widget-config.component.d.ts index 40ca3548..fd67892a 100644 --- a/src/app/modules/home/components/widget/widget-config.component.d.ts +++ b/src/app/modules/home/components/widget/widget-config.component.d.ts @@ -108,6 +108,7 @@ export declare class WidgetConfigComponent extends PageComponent implements OnIn generateDataKey(chip: any, type: DataKeyType, datakeySettingsSchema: JsonSettingsSchema, isLatestDataKey: boolean, dataKeySettingsFunction: DataKeySettingsFunction): DataKey; private genNextColor; private createEntityAlias; + private editEntityAlias; private createFilter; private fetchEntityKeysForDevice; private fetchEntityKeys; diff --git a/src/app/modules/home/components/widget/widget.component.d.ts b/src/app/modules/home/components/widget/widget.component.d.ts index 7d643900..e9ce3fad 100644 --- a/src/app/modules/home/components/widget/widget.component.d.ts +++ b/src/app/modules/home/components/widget/widget.component.d.ts @@ -29,6 +29,7 @@ import { MobileService } from '@core/services/mobile.service'; import { TbPopoverService } from '@shared/components/popover.service'; import { IModulesMap } from '@modules/common/modules-map.models'; import { DashboardUtilsService } from '@core/services/dashboard-utils.service'; +import { HttpClient } from '@angular/common/http'; import * as i0 from "@angular/core"; export declare class WidgetComponent extends PageComponent implements OnInit, OnChanges, OnDestroy { protected store: Store; @@ -60,6 +61,7 @@ export declare class WidgetComponent extends PageComponent implements OnInit, On private raf; private ngZone; private cd; + private http; widgetTitlePanel: TemplateRef; isEdit: boolean; isPreview: boolean; @@ -94,7 +96,7 @@ export declare class WidgetComponent extends PageComponent implements OnInit, On private widgetResize$; private cssParser; private rxSubscriptions; - constructor(store: Store, route: ActivatedRoute, router: Router, widgetComponentService: WidgetComponentService, elementRef: ElementRef, injector: Injector, dialog: MatDialog, renderer: Renderer2, popoverService: TbPopoverService, embedDashboardDialogComponent: ComponentType, dashboardPageComponent: ComponentType, modulesMap: IModulesMap, widgetService: WidgetService, resources: ResourcesService, timeService: TimeService, deviceService: DeviceService, entityService: EntityService, dashboardService: DashboardService, importExport: ImportExportService, entityDataService: EntityDataService, alarmDataService: AlarmDataService, translate: TranslateService, utils: UtilsService, datePipe: DatePipe, dashboardUtils: DashboardUtilsService, mobileService: MobileService, raf: RafService, ngZone: NgZone, cd: ChangeDetectorRef); + constructor(store: Store, route: ActivatedRoute, router: Router, widgetComponentService: WidgetComponentService, elementRef: ElementRef, injector: Injector, dialog: MatDialog, renderer: Renderer2, popoverService: TbPopoverService, embedDashboardDialogComponent: ComponentType, dashboardPageComponent: ComponentType, modulesMap: IModulesMap, widgetService: WidgetService, resources: ResourcesService, timeService: TimeService, deviceService: DeviceService, entityService: EntityService, dashboardService: DashboardService, importExport: ImportExportService, entityDataService: EntityDataService, alarmDataService: AlarmDataService, translate: TranslateService, utils: UtilsService, datePipe: DatePipe, dashboardUtils: DashboardUtilsService, mobileService: MobileService, raf: RafService, ngZone: NgZone, cd: ChangeDetectorRef, http: HttpClient); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; @@ -139,6 +141,6 @@ export declare class WidgetComponent extends PageComponent implements OnInit, On private widgetExportDateFormat; private getActiveEntityInfo; private checkSize; - static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } diff --git a/src/app/modules/home/components/wizard/integration-wizard-dialog.component.d.ts b/src/app/modules/home/components/wizard/integration-wizard-dialog.component.d.ts index 4b3fa5c7..594157f7 100644 --- a/src/app/modules/home/components/wizard/integration-wizard-dialog.component.d.ts +++ b/src/app/modules/home/components/wizard/integration-wizard-dialog.component.d.ts @@ -50,6 +50,7 @@ export declare class IntegrationWizardDialogComponent extends DialogComponent; uplinkConverter: Converter; downlinkConverter: Converter; + readonly integrationDebugPerTenantLimitsConfiguration: string; private checkConnectionAllow; private destroy$; constructor(store: Store, router: Router, data: IntegrationWizardData, dialogRef: MatDialogRef, breakpointObserver: BreakpointObserver, converterService: ConverterService, integrationService: IntegrationService, translate: TranslateService, fb: UntypedFormBuilder); diff --git a/src/app/modules/home/models/widget-component.models.d.ts b/src/app/modules/home/models/widget-component.models.d.ts index 31b125e0..6cdb1ac9 100644 --- a/src/app/modules/home/models/widget-component.models.d.ts +++ b/src/app/modules/home/models/widget-component.models.d.ts @@ -2,7 +2,7 @@ import { IDashboardComponent } from '@home/models/dashboard-component.models'; import { DataSet, Datasource, DatasourceData, FormattedData, JsonSettingsSchema, Widget, WidgetActionDescriptor, WidgetActionSource, WidgetConfig, WidgetControllerDescriptor, WidgetExportType, WidgetType, widgetType, WidgetTypeDescriptor, WidgetTypeDetails, WidgetTypeParameters } from '@shared/models/widget.models'; import { Timewindow, WidgetTimewindow } from '@shared/models/time/time.models'; import { IAliasController, IStateController, IWidgetSubscription, IWidgetUtils, RpcApi, StateParams, SubscriptionEntityInfo, TimewindowFunctions, WidgetActionsApi, WidgetSubscriptionApi } from '@core/api/widget-api.models'; -import { ChangeDetectorRef, Injector, NgZone, Type } from '@angular/core'; +import { ChangeDetectorRef, InjectionToken, Injector, NgZone, TemplateRef, Type } from '@angular/core'; import { HttpClient, HttpErrorResponse } from '@angular/common/http'; import { RafService } from '@core/services/raf.service'; import { WidgetTypeId } from '@shared/models/id/widget-type-id'; @@ -41,12 +41,15 @@ import { TbPopoverComponent } from '@shared/components/popover.component'; import { EntityId } from '@shared/models/id/entity-id'; import { ReportService } from '@core/http/report.service'; import { AlarmQuery, AlarmSearchStatus, AlarmStatus } from '@app/shared/models/alarm.models'; -import { ImagePipe, MillisecondsToTimeStringPipe, TelemetrySubscriber } from '@app/shared/public-api'; +import { ImagePipe } from '@shared/pipe/image.pipe'; +import { MillisecondsToTimeStringPipe } from '@shared/pipe/milliseconds-to-time-string.pipe'; +import { SharedTelemetrySubscriber, TelemetrySubscriber } from '@shared/models/telemetry/telemetry.models'; import { UserId } from '@shared/models/id/user-id'; import { UserSettingsService } from '@core/http/user-settings.service'; import { WhiteLabelingService } from '@core/http/white-labeling.service'; import { DataKeySettingsFunction } from '@home/components/widget/config/data-keys.component.models'; import { UtilsService } from '@core/services/utils.service'; +import { CompiledTbFunction } from '@shared/models/js-function.models'; export interface IWidgetAction { name: string; icon: string; @@ -57,7 +60,7 @@ export interface WidgetHeaderAction extends IWidgetAction { displayName: string; descriptor: WidgetActionDescriptor; useShowWidgetHeaderActionFunction: boolean; - showWidgetHeaderActionFunction: ShowWidgetHeaderActionFunction; + showWidgetHeaderActionFunction: CompiledTbFunction; } export interface WidgetAction extends IWidgetAction { show: boolean; @@ -102,7 +105,7 @@ export declare class WidgetContext { userSettingsService: UserSettingsService; utilsService: UtilsService; telemetryWsService: TelemetryWebsocketService; - telemetrySubscribers?: TelemetrySubscriber[]; + telemetrySubscribers?: Array; date: DatePipe; imagePipe: ImagePipe; milliSecondsToTimeString: MillisecondsToTimeStringPipe; @@ -372,6 +375,9 @@ export declare class LabelVariablePattern { update(): void; destroy(): void; } +export declare const widgetContextToken: InjectionToken; +export declare const widgetErrorMessagesToken: InjectionToken; +export declare const widgetTitlePanelToken: InjectionToken>; export interface IDynamicWidgetComponent { readonly ctx: WidgetContext; readonly errorMessages: string[]; diff --git a/src/app/modules/home/pages/admin/admin.module.d.ts b/src/app/modules/home/pages/admin/admin.module.d.ts index 99e59221..2953f603 100644 --- a/src/app/modules/home/pages/admin/admin.module.d.ts +++ b/src/app/modules/home/pages/admin/admin.module.d.ts @@ -12,20 +12,22 @@ import * as i10 from "@home/pages/admin/custom-css-dialog.component"; import * as i11 from "@home/pages/admin/self-registration.component"; import * as i12 from "@home/pages/admin/home-settings.component"; import * as i13 from "@home/pages/admin/resource/resources-library.component"; -import * as i14 from "@home/pages/admin/resource/resources-table-header.component"; -import * as i15 from "@home/pages/admin/queue/queue.component"; -import * as i16 from "@home/pages/admin/repository-admin-settings.component"; -import * as i17 from "@home/pages/admin/auto-commit-admin-settings.component"; -import * as i18 from "@home/pages/admin/two-factor-auth-settings.component"; -import * as i19 from "@home/pages/admin/mobile-app-settings.component"; -import * as i20 from "@angular/common"; -import * as i21 from "@app/shared/shared.module"; -import * as i22 from "@modules/home/components/home-components.module"; -import * as i23 from "./admin-routing.module"; -import * as i24 from "@home/components/widget/widget-components.module"; -import * as i25 from "@home/pages/admin/oauth2/oauth2.module"; +import * as i14 from "@home/pages/admin/resource/resource-tabs.component"; +import * as i15 from "@home/pages/admin/resource/resources-table-header.component"; +import * as i16 from "@home/pages/admin/resource/js-resource.component"; +import * as i17 from "@home/pages/admin/resource/js-library-table-header.component"; +import * as i18 from "@home/pages/admin/queue/queue.component"; +import * as i19 from "@home/pages/admin/repository-admin-settings.component"; +import * as i20 from "@home/pages/admin/auto-commit-admin-settings.component"; +import * as i21 from "@home/pages/admin/two-factor-auth-settings.component"; +import * as i22 from "@angular/common"; +import * as i23 from "@app/shared/shared.module"; +import * as i24 from "@modules/home/components/home-components.module"; +import * as i25 from "./admin-routing.module"; +import * as i26 from "@home/pages/admin/oauth2/oauth2.module"; +import * as i27 from "@flowjs/ngx-flow"; export declare class AdminModule { static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } diff --git a/src/app/modules/home/pages/admin/mobile-app-settings.component.d.ts b/src/app/modules/home/pages/admin/mobile-app-settings.component.d.ts deleted file mode 100644 index 459007b5..00000000 --- a/src/app/modules/home/pages/admin/mobile-app-settings.component.d.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { OnDestroy } from '@angular/core'; -import { Store } from '@ngrx/store'; -import { AppState } from '@core/core.state'; -import { PageComponent } from '@shared/components/page.component'; -import { FormBuilder, FormGroup } from '@angular/forms'; -import { HasConfirmForm } from '@core/guards/confirm-on-exit.guard'; -import { MobileApplicationService } from '@core/http/mobile-application.service'; -import { BadgePosition, MobileAppSettings } from '@shared/models/mobile-app.models'; -import { AuthUser } from '@shared/models/user.model'; -import { UserPermissionsService } from '@core/http/user-permissions.service'; -import * as i0 from "@angular/core"; -export declare class MobileAppSettingsComponent extends PageComponent implements HasConfirmForm, OnDestroy { - protected store: Store; - private mobileAppService; - private fb; - private userPermissionsService; - authUser: AuthUser; - readonly: boolean; - mobileAppSettingsForm: FormGroup; - mobileAppSettings: MobileAppSettings; - private readonly destroy$; - badgePositionTranslationsMap: Map; - constructor(store: Store, mobileAppService: MobileApplicationService, fb: FormBuilder, userPermissionsService: UserPermissionsService); - ngOnDestroy(): void; - isTenantAdmin(): boolean; - private buildMobileAppSettingsForm; - private processMobileAppSettings; - private androidEnableChanged; - private iosEnableChanged; - save(): void; - confirmForm(): FormGroup; - static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵcmp: i0.ɵɵComponentDeclaration; -} diff --git a/src/app/modules/home/pages/admin/oauth2/clients/clients-table-config.resolver.d.ts b/src/app/modules/home/pages/admin/oauth2/clients/clients-table-config.resolver.d.ts index 02c319f4..60098902 100644 --- a/src/app/modules/home/pages/admin/oauth2/clients/clients-table-config.resolver.d.ts +++ b/src/app/modules/home/pages/admin/oauth2/clients/clients-table-config.resolver.d.ts @@ -4,13 +4,15 @@ import { TranslateService } from '@ngx-translate/core'; import { DatePipe } from '@angular/common'; import { OAuth2Service } from '@core/http/oauth2.service'; import { PageLink } from '@shared/models/page/page-link'; +import { UserPermissionsService } from '@core/http/user-permissions.service'; import * as i0 from "@angular/core"; export declare class ClientsTableConfigResolver { private translate; private datePipe; private oauth2Service; + private userPermissionsService; private readonly config; - constructor(translate: TranslateService, datePipe: DatePipe, oauth2Service: OAuth2Service); + constructor(translate: TranslateService, datePipe: DatePipe, oauth2Service: OAuth2Service, userPermissionsService: UserPermissionsService); resolve(): EntityTableConfig; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; diff --git a/src/app/modules/home/pages/admin/oauth2/domains/domain-dialog.component.d.ts b/src/app/modules/home/pages/admin/oauth2/domains/domain-dialog.component.d.ts new file mode 100644 index 00000000..2fb4664a --- /dev/null +++ b/src/app/modules/home/pages/admin/oauth2/domains/domain-dialog.component.d.ts @@ -0,0 +1,30 @@ +import { AfterViewInit, OnDestroy } from '@angular/core'; +import { ErrorStateMatcher } from '@angular/material/core'; +import { DialogComponent } from '@shared/components/dialog.component'; +import { Store } from '@ngrx/store'; +import { AppState } from '@core/core.state'; +import { Router } from '@angular/router'; +import { MatDialogRef } from '@angular/material/dialog'; +import { FormGroupDirective, NgForm, UntypedFormControl } from '@angular/forms'; +import { Domain } from '@shared/models/oauth2.models'; +import { DomainService } from '@core/http/domain.service'; +import { DomainComponent } from '@home/pages/admin/oauth2/domains/domain.component'; +import * as i0 from "@angular/core"; +export declare class DomainDialogComponent extends DialogComponent implements OnDestroy, AfterViewInit, ErrorStateMatcher { + protected store: Store; + protected router: Router; + protected dialogRef: MatDialogRef; + private domainService; + private errorStateMatcher; + submitted: boolean; + addTitle: string; + helpId: string; + domainComponent: DomainComponent; + constructor(store: Store, router: Router, dialogRef: MatDialogRef, domainService: DomainService, errorStateMatcher: ErrorStateMatcher); + ngAfterViewInit(): void; + isErrorState(control: UntypedFormControl | null, form: FormGroupDirective | NgForm | null): boolean; + cancel(): void; + save(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/modules/home/pages/admin/oauth2/domains/domain-table-config.resolver.d.ts b/src/app/modules/home/pages/admin/oauth2/domains/domain-table-config.resolver.d.ts index d6897c35..2b56a553 100644 --- a/src/app/modules/home/pages/admin/oauth2/domains/domain-table-config.resolver.d.ts +++ b/src/app/modules/home/pages/admin/oauth2/domains/domain-table-config.resolver.d.ts @@ -5,15 +5,17 @@ import { UtilsService } from '@core/services/utils.service'; import { TranslateService } from '@ngx-translate/core'; import { DatePipe } from '@angular/common'; import { DomainService } from '@app/core/http/domain.service'; +import { UserPermissionsService } from '@core/http/user-permissions.service'; import * as i0 from "@angular/core"; export declare class DomainTableConfigResolver { private translate; private datePipe; private utilsService; private domainService; + private userPermissionsService; private readonly config; - constructor(translate: TranslateService, datePipe: DatePipe, utilsService: UtilsService, domainService: DomainService); - resolve(route: ActivatedRouteSnapshot): EntityTableConfig; + constructor(translate: TranslateService, datePipe: DatePipe, utilsService: UtilsService, domainService: DomainService, userPermissionsService: UserPermissionsService); + resolve(_route: ActivatedRouteSnapshot): EntityTableConfig; private toggleEnableOAuth; private togglePropagateToEdge; static ɵfac: i0.ɵɵFactoryDeclaration; diff --git a/src/app/modules/home/pages/admin/oauth2/domains/domain.component.d.ts b/src/app/modules/home/pages/admin/oauth2/domains/domain.component.d.ts index 5ee9097f..dec65c63 100644 --- a/src/app/modules/home/pages/admin/oauth2/domains/domain.component.d.ts +++ b/src/app/modules/home/pages/admin/oauth2/domains/domain.component.d.ts @@ -27,6 +27,6 @@ export declare class DomainComponent extends EntityComponent { updateForm(entity: DomainInfo): void; redirectURI(): string; createClient($event: Event): void; - static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } diff --git a/src/app/modules/home/pages/admin/oauth2/mobile-apps/mobile-app.component.d.ts b/src/app/modules/home/pages/admin/oauth2/mobile-apps/mobile-app.component.d.ts deleted file mode 100644 index b8604c97..00000000 --- a/src/app/modules/home/pages/admin/oauth2/mobile-apps/mobile-app.component.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { ChangeDetectorRef } from '@angular/core'; -import { EntityComponent } from '@home/components/entity/entity.component'; -import { MobileAppInfo } from '@shared/models/oauth2.models'; -import { AppState } from '@core/core.state'; -import { EntityTableConfig } from '@home/models/entity/entities-table-config.models'; -import { TranslateService } from '@ngx-translate/core'; -import { Store } from '@ngrx/store'; -import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; -import { MatDialog } from '@angular/material/dialog'; -import { EntityType } from '@shared/models/entity-type.models'; -import * as i0 from "@angular/core"; -export declare class MobileAppComponent extends EntityComponent { - protected store: Store; - protected translate: TranslateService; - protected entityValue: MobileAppInfo; - protected entitiesTableConfigValue: EntityTableConfig; - protected cd: ChangeDetectorRef; - fb: UntypedFormBuilder; - private dialog; - entityType: typeof EntityType; - constructor(store: Store, translate: TranslateService, entityValue: MobileAppInfo, entitiesTableConfigValue: EntityTableConfig, cd: ChangeDetectorRef, fb: UntypedFormBuilder, dialog: MatDialog); - buildForm(entity: MobileAppInfo): UntypedFormGroup; - updateForm(entity: MobileAppInfo): void; - createClient($event: Event): void; - private base64Format; - static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵcmp: i0.ɵɵComponentDeclaration; -} diff --git a/src/app/modules/home/pages/admin/oauth2/oauth2.module.d.ts b/src/app/modules/home/pages/admin/oauth2/oauth2.module.d.ts index df88916f..de65d0af 100644 --- a/src/app/modules/home/pages/admin/oauth2/oauth2.module.d.ts +++ b/src/app/modules/home/pages/admin/oauth2/oauth2.module.d.ts @@ -4,14 +4,13 @@ import * as i2 from "@home/pages/admin/oauth2/clients/client-dialog.component"; import * as i3 from "@home/pages/admin/oauth2/clients/client-table-header.component"; import * as i4 from "@home/pages/admin/oauth2/domains/domain.component"; import * as i5 from "@home/pages/admin/oauth2/domains/domain-table-header.component"; -import * as i6 from "@home/pages/admin/oauth2/mobile-apps/mobile-app.component"; -import * as i7 from "@home/pages/admin/oauth2/mobile-apps/mobile-app-table-header.component"; -import * as i8 from "@home/pages/admin/oauth2/oauth2-routing.module"; -import * as i9 from "@angular/common"; -import * as i10 from "@shared/shared.module"; -import * as i11 from "@home/components/home-components.module"; +import * as i6 from "@home/pages/admin/oauth2/domains/domain-dialog.component"; +import * as i7 from "@home/pages/admin/oauth2/oauth2-routing.module"; +import * as i8 from "@angular/common"; +import * as i9 from "@shared/shared.module"; +import * as i10 from "@home/components/home-components.module"; export declare class OAuth2Module { static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } diff --git a/src/app/modules/home/pages/admin/resource/js-library-table-config.resolver.d.ts b/src/app/modules/home/pages/admin/resource/js-library-table-config.resolver.d.ts new file mode 100644 index 00000000..e4dc82ba --- /dev/null +++ b/src/app/modules/home/pages/admin/resource/js-library-table-config.resolver.d.ts @@ -0,0 +1,30 @@ +import { EntityTableConfig } from '@home/models/entity/entities-table-config.models'; +import { Router } from '@angular/router'; +import { Resource, ResourceInfo } from '@shared/models/resource.models'; +import { DatePipe } from '@angular/common'; +import { TranslateService } from '@ngx-translate/core'; +import { ResourceService } from '@core/http/resource.service'; +import { Store } from '@ngrx/store'; +import { AppState } from '@core/core.state'; +import { PageLink } from '@shared/models/page/page-link'; +import { EntityAction } from '@home/models/entity/entity-component.models'; +import { UserPermissionsService } from '@core/http/user-permissions.service'; +import * as i0 from "@angular/core"; +export declare class JsLibraryTableConfigResolver { + private store; + private resourceService; + private userPermissionsService; + private translate; + private router; + private datePipe; + private readonly config; + constructor(store: Store, resourceService: ResourceService, userPermissionsService: UserPermissionsService, translate: TranslateService, router: Router, datePipe: DatePipe); + resolve(): EntityTableConfig; + private openResource; + downloadResource($event: Event, resource: ResourceInfo): void; + onResourceAction(action: EntityAction): boolean; + private detailsReadonly; + private isResourceEditable; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} diff --git a/src/app/modules/home/pages/admin/resource/js-library-table-header.component.d.ts b/src/app/modules/home/pages/admin/resource/js-library-table-header.component.d.ts new file mode 100644 index 00000000..1c0536e7 --- /dev/null +++ b/src/app/modules/home/pages/admin/resource/js-library-table-header.component.d.ts @@ -0,0 +1,15 @@ +import { Store } from '@ngrx/store'; +import { AppState } from '@core/core.state'; +import { EntityTableHeaderComponent } from '@home/components/entity/entity-table-header.component'; +import { Resource, ResourceInfo, ResourceSubType } from '@shared/models/resource.models'; +import { PageLink } from '@shared/models/page/page-link'; +import * as i0 from "@angular/core"; +export declare class JsLibraryTableHeaderComponent extends EntityTableHeaderComponent { + protected store: Store; + readonly jsResourceSubTypes: ResourceSubType[]; + readonly resourceSubTypesTranslationMap: Map; + constructor(store: Store); + jsResourceSubTypeChanged(resourceSubType: ResourceSubType): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/modules/home/pages/admin/resource/js-resource.component.d.ts b/src/app/modules/home/pages/admin/resource/js-resource.component.d.ts new file mode 100644 index 00000000..46e12944 --- /dev/null +++ b/src/app/modules/home/pages/admin/resource/js-resource.component.d.ts @@ -0,0 +1,41 @@ +import { ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core'; +import { Store } from '@ngrx/store'; +import { AppState } from '@core/core.state'; +import { TranslateService } from '@ngx-translate/core'; +import { EntityTableConfig } from '@home/models/entity/entities-table-config.models'; +import { FormBuilder, FormGroup } from '@angular/forms'; +import { EntityComponent } from '@home/components/entity/entity.component'; +import { Resource, ResourceSubType } from '@shared/models/resource.models'; +import * as i0 from "@angular/core"; +export declare class JsResourceComponent extends EntityComponent implements OnInit, OnDestroy { + protected store: Store; + protected translate: TranslateService; + protected entityValue: Resource; + protected entitiesTableConfigValue: EntityTableConfig; + fb: FormBuilder; + protected cd: ChangeDetectorRef; + readonly ResourceSubType: typeof ResourceSubType; + readonly jsResourceSubTypes: ResourceSubType[]; + readonly ResourceSubTypeTranslationMap: Map; + readonly maxResourceSize: number; + private destroy$; + constructor(store: Store, translate: TranslateService, entityValue: Resource, entitiesTableConfigValue: EntityTableConfig, fb: FormBuilder, cd: ChangeDetectorRef); + ngOnInit(): void; + ngOnDestroy(): void; + hideDelete(): boolean; + buildForm(entity: Resource): FormGroup; + updateForm(entity: Resource): void; + updateFormState(): void; + prepareFormValue(formValue: Resource): Resource; + getAllowedExtensions(): string; + getAcceptType(): string; + convertToBase64File(data: string): string; + onResourceIdCopied(): void; + uploadContentFromFile(content: string): void; + private observeResourceSubTypeChange; + private onResourceSubTypeChange; + private updateResourceSubTypeFieldsState; + protected readonly highlightRules: import("../../../../../shared/models/ace/ace.models").AceHighlightRules; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/modules/home/pages/admin/resource/resource-tabs.component.d.ts b/src/app/modules/home/pages/admin/resource/resource-tabs.component.d.ts new file mode 100644 index 00000000..cbab83db --- /dev/null +++ b/src/app/modules/home/pages/admin/resource/resource-tabs.component.d.ts @@ -0,0 +1,12 @@ +import { EntityTabsComponent } from '@home/components/entity/entity-tabs.component'; +import { Resource } from '@shared/models/resource.models'; +import { Store } from '@ngrx/store'; +import { AppState } from '@core/core.state'; +import * as i0 from "@angular/core"; +export declare class ResourceTabsComponent extends EntityTabsComponent { + protected store: Store; + readonly NULL_UUID = "13814000-1dd2-11b2-8080-808080808080"; + constructor(store: Store); + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/modules/home/pages/admin/self-registration.component.d.ts b/src/app/modules/home/pages/admin/self-registration.component.d.ts index eca62cbb..757761d1 100644 --- a/src/app/modules/home/pages/admin/self-registration.component.d.ts +++ b/src/app/modules/home/pages/admin/self-registration.component.d.ts @@ -2,38 +2,44 @@ import { OnInit } from '@angular/core'; import { Store } from '@ngrx/store'; import { AppState } from '@core/core.state'; import { PageComponent } from '@shared/components/page.component'; -import { Router } from '@angular/router'; -import { UntypedFormBuilder, UntypedFormGroup, FormGroupDirective } from '@angular/forms'; +import { FormGroupDirective, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; import { HasConfirmForm } from '@core/guards/confirm-on-exit.guard'; import { SelfRegistrationService } from '@core/http/self-register.service'; -import { SelfRegistrationParams } from '@shared/models/self-register.models'; +import { WebSelfRegistrationParams } from '@shared/models/self-register.models'; import { TranslateService } from '@ngx-translate/core'; import { EntityType } from '@shared/models/entity-type.models'; -import { AttributeService } from '@core/http/attribute.service'; +import { MatDialog } from '@angular/material/dialog'; +import { BaseData } from '@shared/models/base-data'; +import { EntityId } from '@shared/models/id/entity-id'; +import { Operation, Resource } from '@shared/models/security.models'; import * as i0 from "@angular/core"; export declare class SelfRegistrationComponent extends PageComponent implements OnInit, HasConfirmForm { protected store: Store; - private router; + private dialog; private selfRegistrationService; - private attributeService; private translate; - fb: UntypedFormBuilder; + private fb; selfRegistrationFormGroup: UntypedFormGroup; - selfRegistrationParams: SelfRegistrationParams; + selfRegistrationParams: WebSelfRegistrationParams; registerLink: string; - deleteDisabled: boolean; entityTypes: typeof EntityType; + deleteDisabled: boolean; tinyMceOptions: Record; showMainLoadingBar: boolean; - constructor(store: Store, router: Router, selfRegistrationService: SelfRegistrationService, attributeService: AttributeService, translate: TranslateService, fb: UntypedFormBuilder); + readonly EntityType: typeof EntityType; + readonly operation: typeof Operation; + readonly resource: typeof Resource; + constructor(store: Store, dialog: MatDialog, selfRegistrationService: SelfRegistrationService, translate: TranslateService, fb: UntypedFormBuilder); ngOnInit(): void; buildSelfRegistrationForm(): void; private updateDisabledState; - private updateMobileSelfRegistration; save(): void; delete(form: FormGroupDirective): void; confirmForm(): UntypedFormGroup; onActivationLinkCopied(): void; + domainChange(domain: BaseData): void; + createDomain(): void; + createTarget(): void; private onSelfRegistrationParamsLoaded; private selfRegistrationParamsFromFormValue; private convertTextToHTML; diff --git a/src/app/modules/home/pages/admin/white-labeling.component.d.ts b/src/app/modules/home/pages/admin/white-labeling.component.d.ts index 9f29454e..6b16f153 100644 --- a/src/app/modules/home/pages/admin/white-labeling.component.d.ts +++ b/src/app/modules/home/pages/admin/white-labeling.component.d.ts @@ -1,24 +1,29 @@ -import { OnDestroy, OnInit } from '@angular/core'; +import { DestroyRef, OnInit } from '@angular/core'; import { Store } from '@ngrx/store'; import { AppState } from '@core/core.state'; import { PageComponent } from '@shared/components/page.component'; import { ActivatedRoute } from '@angular/router'; -import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; +import { FormGroupDirective, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; import { HasConfirmForm } from '@core/guards/confirm-on-exit.guard'; +import { Operation, Resource } from '@shared/models/security.models'; import { UserPermissionsService } from '@core/http/user-permissions.service'; import { WhiteLabelingService } from '@core/http/white-labeling.service'; import { Observable } from 'rxjs'; import { MatDialog } from '@angular/material/dialog'; import { UiSettingsService } from '@core/http/ui-settings.service'; +import { EntityType } from '@shared/models/entity-type.models'; +import { EntityId } from '@shared/models/id/entity-id'; +import { BaseData } from '@shared/models/base-data'; import * as i0 from "@angular/core"; -export declare class WhiteLabelingComponent extends PageComponent implements OnInit, OnDestroy, HasConfirmForm { +export declare class WhiteLabelingComponent extends PageComponent implements OnInit, HasConfirmForm { protected store: Store; private route; private userPermissionsService; private whiteLabelingService; private uiSettingsService; private dialog; - fb: UntypedFormBuilder; + private fb; + private destroyRef; private window; wlSettings: UntypedFormGroup; private whiteLabelingParams; @@ -32,10 +37,11 @@ export declare class WhiteLabelingComponent extends PageComponent implements OnI name: string; value: boolean; }[]; - private destroy$; - constructor(store: Store, route: ActivatedRoute, userPermissionsService: UserPermissionsService, whiteLabelingService: WhiteLabelingService, uiSettingsService: UiSettingsService, dialog: MatDialog, fb: UntypedFormBuilder, window: Window); + readonly EntityType: typeof EntityType; + readonly operation: typeof Operation; + readonly resource: typeof Resource; + constructor(store: Store, route: ActivatedRoute, userPermissionsService: UserPermissionsService, whiteLabelingService: WhiteLabelingService, uiSettingsService: UiSettingsService, dialog: MatDialog, fb: UntypedFormBuilder, destroyRef: DestroyRef, window: Window); ngOnInit(): void; - ngOnDestroy(): void; private loadWhiteLabelingParams; buildWhiteLabelingSettingsForm(): void; private updateValidators; @@ -44,6 +50,10 @@ export declare class WhiteLabelingComponent extends PageComponent implements OnI save(): void; confirmForm(): UntypedFormGroup; onExit(): Observable; + delete(form: FormGroupDirective): void; + private setWhiteLabelingParams; + domainChange(domain: BaseData): void; + createDomain(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } diff --git a/src/app/modules/home/pages/asset-profile/asset-profiles-table-config.resolver.d.ts b/src/app/modules/home/pages/asset-profile/asset-profiles-table-config.resolver.d.ts index 9eb2ef33..43017ca3 100644 --- a/src/app/modules/home/pages/asset-profile/asset-profiles-table-config.resolver.d.ts +++ b/src/app/modules/home/pages/asset-profile/asset-profiles-table-config.resolver.d.ts @@ -4,25 +4,23 @@ import { TranslateService } from '@ngx-translate/core'; import { DatePipe } from '@angular/common'; import { EntityAction } from '@home/models/entity/entity-component.models'; import { DialogService } from '@core/services/dialog.service'; -import { MatDialog } from '@angular/material/dialog'; import { ImportExportService } from '@shared/import-export/import-export.service'; -import { HomeDialogsService } from '@home/dialogs/home-dialogs.service'; import { AssetProfile } from '@shared/models/asset.models'; import { AssetProfileService } from '@core/http/asset-profile.service'; +import { CustomTranslatePipe } from '@shared/pipe/custom-translate.pipe'; import { UserPermissionsService } from '@core/http/user-permissions.service'; import * as i0 from "@angular/core"; export declare class AssetProfilesTableConfigResolver { private assetProfileService; private importExport; private userPermissionsService; - private homeDialogs; private translate; private datePipe; private dialogService; private router; - private dialog; + private customTranslate; private readonly config; - constructor(assetProfileService: AssetProfileService, importExport: ImportExportService, userPermissionsService: UserPermissionsService, homeDialogs: HomeDialogsService, translate: TranslateService, datePipe: DatePipe, dialogService: DialogService, router: Router, dialog: MatDialog); + constructor(assetProfileService: AssetProfileService, importExport: ImportExportService, userPermissionsService: UserPermissionsService, translate: TranslateService, datePipe: DatePipe, dialogService: DialogService, router: Router, customTranslate: CustomTranslatePipe); resolve(): EntityTableConfig; configureAddActions(): Array; setDefaultAssetProfile($event: Event, assetProfile: AssetProfile): void; diff --git a/src/app/modules/home/pages/converter/converters-table-config.resolver.d.ts b/src/app/modules/home/pages/converter/converters-table-config.resolver.d.ts index e8cc2f9d..570bc3ca 100644 --- a/src/app/modules/home/pages/converter/converters-table-config.resolver.d.ts +++ b/src/app/modules/home/pages/converter/converters-table-config.resolver.d.ts @@ -8,6 +8,7 @@ import { ImportExportService } from '@shared/import-export/import-export.service import { UtilsService } from '@core/services/utils.service'; import { UserPermissionsService } from '@core/http/user-permissions.service'; import { EntityAction } from '@home/models/entity/entity-component.models'; +import { CustomTranslatePipe } from '@shared/pipe/custom-translate.pipe'; import * as i0 from "@angular/core"; export declare class ConvertersTableConfigResolver { private converterService; @@ -17,8 +18,9 @@ export declare class ConvertersTableConfigResolver { private datePipe; private router; private utils; + private customTranslate; private readonly config; - constructor(converterService: ConverterService, userPermissionsService: UserPermissionsService, translate: TranslateService, importExport: ImportExportService, datePipe: DatePipe, router: Router, utils: UtilsService); + constructor(converterService: ConverterService, userPermissionsService: UserPermissionsService, translate: TranslateService, importExport: ImportExportService, datePipe: DatePipe, router: Router, utils: UtilsService, customTranslate: CustomTranslatePipe); resolve(route: ActivatedRouteSnapshot): EntityTableConfig; private configureEntityFunctions; private saveConverter; diff --git a/src/app/modules/home/pages/custom-menu/custom-menu-item-row.component.d.ts b/src/app/modules/home/pages/custom-menu/custom-menu-item-row.component.d.ts index 8510a549..7478e764 100644 --- a/src/app/modules/home/pages/custom-menu/custom-menu-item-row.component.d.ts +++ b/src/app/modules/home/pages/custom-menu/custom-menu-item-row.component.d.ts @@ -61,7 +61,7 @@ export declare class CustomMenuItemRowComponent implements ControlValueAccessor, visiblePagesControls(): Array; trackByPage(_index: number, pageControl: AbstractControl): any; removeCustomPage(index: number): void; - addCustomPage(): void; + addCustomPage(button: MatButton): void; private afterMenuItemEdit; private updateIconNameBlockWidth; private updateCleanupState; diff --git a/src/app/modules/home/pages/device-profile/device-profiles-table-config.resolver.d.ts b/src/app/modules/home/pages/device-profile/device-profiles-table-config.resolver.d.ts index 9297b9d0..68df88eb 100644 --- a/src/app/modules/home/pages/device-profile/device-profiles-table-config.resolver.d.ts +++ b/src/app/modules/home/pages/device-profile/device-profiles-table-config.resolver.d.ts @@ -10,21 +10,21 @@ import { UserPermissionsService } from '@core/http/user-permissions.service'; import { UtilsService } from '@core/services/utils.service'; import { MatDialog } from '@angular/material/dialog'; import { ImportExportService } from '@shared/import-export/import-export.service'; -import { HomeDialogsService } from '@home/dialogs/home-dialogs.service'; +import { CustomTranslatePipe } from '@shared/pipe/custom-translate.pipe'; import * as i0 from "@angular/core"; export declare class DeviceProfilesTableConfigResolver { private deviceProfileService; private importExport; private userPermissionsService; - private homeDialogs; private translate; private datePipe; private dialogService; private utils; private router; private dialog; + private customTranslate; private readonly config; - constructor(deviceProfileService: DeviceProfileService, importExport: ImportExportService, userPermissionsService: UserPermissionsService, homeDialogs: HomeDialogsService, translate: TranslateService, datePipe: DatePipe, dialogService: DialogService, utils: UtilsService, router: Router, dialog: MatDialog); + constructor(deviceProfileService: DeviceProfileService, importExport: ImportExportService, userPermissionsService: UserPermissionsService, translate: TranslateService, datePipe: DatePipe, dialogService: DialogService, utils: UtilsService, router: Router, dialog: MatDialog, customTranslate: CustomTranslatePipe); resolve(): EntityTableConfig; configureAddActions(): Array; addDeviceProfile(): void; diff --git a/src/app/modules/home/pages/home-pages.module.d.ts b/src/app/modules/home/pages/home-pages.module.d.ts index 9934e1f8..32b564f0 100644 --- a/src/app/modules/home/pages/home-pages.module.d.ts +++ b/src/app/modules/home/pages/home-pages.module.d.ts @@ -10,36 +10,37 @@ import * as i8 from "@home/pages/asset-profile/asset-profile.module"; import * as i9 from "@home/pages/profiles/profiles.module"; import * as i10 from "@home/pages/entities/entities.module"; import * as i11 from "@home/pages/features/features.module"; -import * as i12 from "@home/pages/notification/notification.module"; -import * as i13 from "@modules/home/pages/device/device.module"; -import * as i14 from "@modules/home/pages/asset/asset.module"; -import * as i15 from "@home/pages/alarm/alarm.module"; -import * as i16 from "@home/pages/edge/edge.module"; -import * as i17 from "@modules/home/pages/entity-view/entity-view.module"; -import * as i18 from "@modules/home/pages/customer/customer.module"; -import * as i19 from "@modules/home/pages/rulechain/rulechain.module"; -import * as i20 from "@modules/home/pages/widget/widget-library.module"; -import * as i21 from "@modules/home/pages/dashboard/dashboard.module"; -import * as i22 from "@modules/home/pages/audit-log/audit-log.module"; -import * as i23 from "@home/pages/api-usage/api-usage.module"; -import * as i24 from "@home/pages/gateways/gateways.module"; -import * as i25 from "@home/pages/ota-update/ota-update.module"; -import * as i26 from "@modules/home/pages/user/user.module"; -import * as i27 from "@home/pages/account/account.module"; -import * as i28 from "@home/pages/role/role.module"; -import * as i29 from "@home/pages/integration/integrations-center.module"; -import * as i30 from "@home/pages/converter/converter.module"; -import * as i31 from "@home/pages/integration/integration.module"; -import * as i32 from "@home/pages/group/entity-group.module"; -import * as i33 from "@home/pages/iframe/iframe-view.module"; -import * as i34 from "@home/pages/scheduler/scheduler.module"; -import * as i35 from "@home/pages/solution-template/solution-templates.module"; -import * as i36 from "@home/pages/vc/vc.module"; -import * as i37 from "@home/pages/scada-symbol/scada-symbol.module"; -import * as i38 from "@home/pages/custom-translation/custom-translation.module"; -import * as i39 from "@home/pages/custom-menu/custom-menu.module"; +import * as i12 from "@home/pages/mobile/mobile.module"; +import * as i13 from "@home/pages/notification/notification.module"; +import * as i14 from "@modules/home/pages/device/device.module"; +import * as i15 from "@modules/home/pages/asset/asset.module"; +import * as i16 from "@home/pages/alarm/alarm.module"; +import * as i17 from "@home/pages/edge/edge.module"; +import * as i18 from "@modules/home/pages/entity-view/entity-view.module"; +import * as i19 from "@modules/home/pages/customer/customer.module"; +import * as i20 from "@modules/home/pages/rulechain/rulechain.module"; +import * as i21 from "@modules/home/pages/widget/widget-library.module"; +import * as i22 from "@modules/home/pages/dashboard/dashboard.module"; +import * as i23 from "@modules/home/pages/audit-log/audit-log.module"; +import * as i24 from "@home/pages/api-usage/api-usage.module"; +import * as i25 from "@home/pages/gateways/gateways.module"; +import * as i26 from "@home/pages/ota-update/ota-update.module"; +import * as i27 from "@modules/home/pages/user/user.module"; +import * as i28 from "@home/pages/account/account.module"; +import * as i29 from "@home/pages/role/role.module"; +import * as i30 from "@home/pages/integration/integrations-center.module"; +import * as i31 from "@home/pages/converter/converter.module"; +import * as i32 from "@home/pages/integration/integration.module"; +import * as i33 from "@home/pages/group/entity-group.module"; +import * as i34 from "@home/pages/iframe/iframe-view.module"; +import * as i35 from "@home/pages/scheduler/scheduler.module"; +import * as i36 from "@home/pages/solution-template/solution-templates.module"; +import * as i37 from "@home/pages/vc/vc.module"; +import * as i38 from "@home/pages/scada-symbol/scada-symbol.module"; +import * as i39 from "@home/pages/custom-translation/custom-translation.module"; +import * as i40 from "@home/pages/custom-menu/custom-menu.module"; export declare class HomePagesModule { static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } diff --git a/src/app/modules/home/pages/integration/integration.component.d.ts b/src/app/modules/home/pages/integration/integration.component.d.ts index 776aba7f..795cdbed 100644 --- a/src/app/modules/home/pages/integration/integration.component.d.ts +++ b/src/app/modules/home/pages/integration/integration.component.d.ts @@ -20,6 +20,7 @@ export declare class IntegrationComponent extends EntityComponent, translate: TranslateService, entityValue: Integration, entitiesTableConfigValue: EntityTableConfig, fb: UntypedFormBuilder, integrationService: IntegrationService, cd: ChangeDetectorRef); ngOnInit(): void; diff --git a/src/app/modules/home/pages/integration/integration.module.d.ts b/src/app/modules/home/pages/integration/integration.module.d.ts index 6c30da7a..c039b8f2 100644 --- a/src/app/modules/home/pages/integration/integration.module.d.ts +++ b/src/app/modules/home/pages/integration/integration.module.d.ts @@ -6,8 +6,9 @@ import * as i4 from "@shared/shared.module"; import * as i5 from "@modules/home/components/home-components.module"; import * as i6 from "@home/pages/integration/integration-routing.module"; import * as i7 from "@home/components/integration/integration-component.module"; +import * as i8 from "@home/components/debug-settings/debug-settings-button.component"; export declare class IntegrationModule { static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } diff --git a/src/app/modules/home/pages/integration/integrations-table-config.d.ts b/src/app/modules/home/pages/integration/integrations-table-config.d.ts index a2b2a01b..f1e9d482 100644 --- a/src/app/modules/home/pages/integration/integrations-table-config.d.ts +++ b/src/app/modules/home/pages/integration/integrations-table-config.d.ts @@ -11,6 +11,11 @@ import { EdgeService } from '@core/http/edge.service'; import { DialogService } from '@core/services/dialog.service'; import { EntityAction } from '@home/models/entity/entity-component.models'; import { PageLink } from '@shared/models/page/page-link'; +import { Store } from '@ngrx/store'; +import { AppState } from '@core/core.state'; +import { DurationLeftPipe } from '@shared/pipe/duration-left.pipe'; +import { TbPopoverService } from '@shared/components/popover.service'; +import { DestroyRef } from '@angular/core'; export declare class IntegrationsTableConfig extends EntityTableConfig { private integrationService; private userPermissionsService; @@ -21,15 +26,25 @@ export declare class IntegrationsTableConfig extends EntityTableConfig, durationLeft: DurationLeftPipe, popoverService: TbPopoverService, destroyRef: DestroyRef, params: IntegrationParams); + private isDebugActive; private configureEntityTableColumns; private configureGroupActions; private configureAddActions; private configureCellActions; + private getDebugConfigLabel; private saveIntegration; openIntegration($event: Event, integration: Integration, params?: IntegrationParams): void; onIntegrationAction(action: EntityAction, params: IntegrationParams): boolean; + onOpenDebugConfig($event: Event, { debugSettings, id }: IntegrationInfo): void; + private onDebugConfigChanged; private configureEntityFunctions; private configureIntegrationScope; private configureTableTitle; @@ -39,5 +54,4 @@ export declare class IntegrationsTableConfig extends EntityTableConfig, durationLeft: DurationLeftPipe, popoverService: TbPopoverService, destroyRef: DestroyRef, dialog: MatDialog); resolve(route: ActivatedRouteSnapshot): EntityTableConfig; resolveIntegrationsTableConfig(params: IntegrationParams): EntityTableConfig; static ɵfac: i0.ɵɵFactoryDeclaration; diff --git a/src/app/modules/home/pages/mobile/applications/applications-routing.module.d.ts b/src/app/modules/home/pages/mobile/applications/applications-routing.module.d.ts new file mode 100644 index 00000000..8e456999 --- /dev/null +++ b/src/app/modules/home/pages/mobile/applications/applications-routing.module.d.ts @@ -0,0 +1,9 @@ +import { Routes } from '@angular/router'; +import * as i0 from "@angular/core"; +import * as i1 from "@angular/router"; +export declare const applicationsRoutes: Routes; +export declare class ApplicationsRoutingModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} diff --git a/src/app/modules/home/pages/mobile/applications/applications.module.d.ts b/src/app/modules/home/pages/mobile/applications/applications.module.d.ts new file mode 100644 index 00000000..5362df65 --- /dev/null +++ b/src/app/modules/home/pages/mobile/applications/applications.module.d.ts @@ -0,0 +1,15 @@ +import * as i0 from "@angular/core"; +import * as i1 from "@home/pages/mobile/applications/mobile-app.component"; +import * as i2 from "@home/pages/mobile/applications/mobile-app-table-header.component"; +import * as i3 from "@home/pages/mobile/applications/mobile-app-dialog.component"; +import * as i4 from "@home/pages/mobile/applications/remove-app-dialog.component"; +import * as i5 from "@angular/common"; +import * as i6 from "@shared/shared.module"; +import * as i7 from "@home/components/home-components.module"; +import * as i8 from "@home/pages/mobile/common/common-mobile.module"; +import * as i9 from "@home/pages/mobile/applications/applications-routing.module"; +export declare class MobileApplicationModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} diff --git a/src/app/modules/home/pages/mobile/applications/mobile-app-dialog.component.d.ts b/src/app/modules/home/pages/mobile/applications/mobile-app-dialog.component.d.ts new file mode 100644 index 00000000..33e50c2b --- /dev/null +++ b/src/app/modules/home/pages/mobile/applications/mobile-app-dialog.component.d.ts @@ -0,0 +1,33 @@ +import { AfterViewInit, OnDestroy } from '@angular/core'; +import { ErrorStateMatcher } from '@angular/material/core'; +import { DialogComponent } from '@shared/components/dialog.component'; +import { Store } from '@ngrx/store'; +import { AppState } from '@core/core.state'; +import { Router } from '@angular/router'; +import { MatDialogRef } from '@angular/material/dialog'; +import { FormGroupDirective, NgForm, UntypedFormControl } from '@angular/forms'; +import { MobileApp } from '@shared/models/mobile-app.models'; +import { MobileAppComponent } from '@home/pages/mobile/applications/mobile-app.component'; +import { PlatformType } from '@shared/models/oauth2.models'; +import { MobileAppService } from '@core/http/mobile-app.service'; +import * as i0 from "@angular/core"; +export interface MobileAppDialogData { + platformType: PlatformType; +} +export declare class MobileAppDialogComponent extends DialogComponent implements OnDestroy, AfterViewInit, ErrorStateMatcher { + protected store: Store; + protected router: Router; + protected dialogRef: MatDialogRef; + private mobileAppService; + data: MobileAppDialogData; + private errorStateMatcher; + submitted: boolean; + mobileAppComponent: MobileAppComponent; + constructor(store: Store, router: Router, dialogRef: MatDialogRef, mobileAppService: MobileAppService, data: MobileAppDialogData, errorStateMatcher: ErrorStateMatcher); + ngAfterViewInit(): void; + isErrorState(control: UntypedFormControl | null, form: FormGroupDirective | NgForm | null): boolean; + cancel(): void; + save(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/modules/home/pages/admin/oauth2/mobile-apps/mobile-app-table-config.resolver.d.ts b/src/app/modules/home/pages/mobile/applications/mobile-app-table-config.resolver.d.ts similarity index 52% rename from src/app/modules/home/pages/admin/oauth2/mobile-apps/mobile-app-table-config.resolver.d.ts rename to src/app/modules/home/pages/mobile/applications/mobile-app-table-config.resolver.d.ts index ef0834e3..27ea1d6d 100644 --- a/src/app/modules/home/pages/admin/oauth2/mobile-apps/mobile-app-table-config.resolver.d.ts +++ b/src/app/modules/home/pages/mobile/applications/mobile-app-table-config.resolver.d.ts @@ -1,19 +1,27 @@ import { ActivatedRouteSnapshot } from '@angular/router'; import { EntityTableConfig } from '@home/models/entity/entities-table-config.models'; -import { MobileAppInfo } from '@shared/models/oauth2.models'; import { TranslateService } from '@ngx-translate/core'; import { DatePipe } from '@angular/common'; import { MobileAppService } from '@core/http/mobile-app.service'; +import { MobileApp } from '@shared/models/mobile-app.models'; +import { TruncatePipe } from '@shared/pipe/truncate.pipe'; +import { MatDialog } from '@angular/material/dialog'; +import { UserPermissionsService } from '@core/http/user-permissions.service'; import * as i0 from "@angular/core"; export declare class MobileAppTableConfigResolver { private translate; private datePipe; private mobileAppService; + private truncatePipe; + private dialog; + private userPermissionsService; private readonly config; - constructor(translate: TranslateService, datePipe: DatePipe, mobileAppService: MobileAppService); - resolve(route: ActivatedRouteSnapshot): EntityTableConfig; - private toggleEnableOAuth; - private appSecretText; + constructor(translate: TranslateService, datePipe: DatePipe, mobileAppService: MobileAppService, truncatePipe: TruncatePipe, dialog: MatDialog, userPermissionsService: UserPermissionsService); + resolve(_route: ActivatedRouteSnapshot): EntityTableConfig; + private configureCellActions; + private deleteEntity; + private mobileStatus; + private mobileStatusStyle; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } diff --git a/src/app/modules/home/pages/admin/oauth2/mobile-apps/mobile-app-table-header.component.d.ts b/src/app/modules/home/pages/mobile/applications/mobile-app-table-header.component.d.ts similarity index 67% rename from src/app/modules/home/pages/admin/oauth2/mobile-apps/mobile-app-table-header.component.d.ts rename to src/app/modules/home/pages/mobile/applications/mobile-app-table-header.component.d.ts index 55f0f2f6..7d372055 100644 --- a/src/app/modules/home/pages/admin/oauth2/mobile-apps/mobile-app-table-header.component.d.ts +++ b/src/app/modules/home/pages/mobile/applications/mobile-app-table-header.component.d.ts @@ -1,11 +1,15 @@ import { EntityTableHeaderComponent } from '@home/components/entity/entity-table-header.component'; import { Store } from '@ngrx/store'; import { AppState } from '@core/core.state'; -import { MobileAppInfo } from '@shared/models/oauth2.models'; +import { MobileApp } from '@shared/models/mobile-app.models'; +import { Operation, Resource } from '@shared/models/security.models'; import * as i0 from "@angular/core"; -export declare class MobileAppTableHeaderComponent extends EntityTableHeaderComponent { +export declare class MobileAppTableHeaderComponent extends EntityTableHeaderComponent { protected store: Store; + readonly resource: typeof Resource; + readonly operation: typeof Operation; constructor(store: Store); + createMobile($event: Event): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } diff --git a/src/app/modules/home/pages/mobile/applications/mobile-app.component.d.ts b/src/app/modules/home/pages/mobile/applications/mobile-app.component.d.ts new file mode 100644 index 00000000..13595ecf --- /dev/null +++ b/src/app/modules/home/pages/mobile/applications/mobile-app.component.d.ts @@ -0,0 +1,41 @@ +import { ChangeDetectorRef, Renderer2, ViewContainerRef } from '@angular/core'; +import { EntityComponent } from '@home/components/entity/entity.component'; +import { AppState } from '@core/core.state'; +import { EntityTableConfig } from '@home/models/entity/entities-table-config.models'; +import { TranslateService } from '@ngx-translate/core'; +import { Store } from '@ngrx/store'; +import { FormBuilder, FormGroup } from '@angular/forms'; +import { EntityType } from '@shared/models/entity-type.models'; +import { MobileApp, MobileAppStatus } from '@shared/models/mobile-app.models'; +import { PlatformType } from '@shared/models/oauth2.models'; +import { MatButton } from '@angular/material/button'; +import { TbPopoverService } from '@shared/components/popover.service'; +import * as i0 from "@angular/core"; +export declare class MobileAppComponent extends EntityComponent { + protected store: Store; + protected translate: TranslateService; + protected entityValue: MobileApp; + protected entitiesTableConfigValue: EntityTableConfig; + protected cd: ChangeDetectorRef; + fb: FormBuilder; + private popoverService; + private renderer; + private viewContainerRef; + entityType: typeof EntityType; + platformTypes: PlatformType[]; + MobileAppStatus: typeof MobileAppStatus; + PlatformType: typeof PlatformType; + mobileAppStatuses: MobileAppStatus[]; + platformTypeTranslations: Map; + mobileAppStatusTranslations: Map; + constructor(store: Store, translate: TranslateService, entityValue: MobileApp, entitiesTableConfigValue: EntityTableConfig, cd: ChangeDetectorRef, fb: FormBuilder, popoverService: TbPopoverService, renderer: Renderer2, viewContainerRef: ViewContainerRef); + buildForm(entity: MobileApp): FormGroup; + updateForm(entity: MobileApp): void; + updateFormState(): void; + prepareFormValue(value: MobileApp): MobileApp; + generateAppSecret($event: Event): void; + editReleaseNote($event: Event, matButton: MatButton, isLatest: boolean): void; + private base64Format; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/modules/home/pages/mobile/applications/remove-app-dialog.component.d.ts b/src/app/modules/home/pages/mobile/applications/remove-app-dialog.component.d.ts new file mode 100644 index 00000000..c1ee3ac6 --- /dev/null +++ b/src/app/modules/home/pages/mobile/applications/remove-app-dialog.component.d.ts @@ -0,0 +1,32 @@ +import { DialogComponent } from '@shared/components/dialog.component'; +import { Store } from '@ngrx/store'; +import { AppState } from '@core/core.state'; +import { Router } from '@angular/router'; +import { MatDialogRef } from '@angular/material/dialog'; +import { TranslateService } from '@ngx-translate/core'; +import { DomSanitizer, SafeHtml } from '@angular/platform-browser'; +import { FormBuilder } from '@angular/forms'; +import { MobileAppService } from '@core/http/mobile-app.service'; +import * as i0 from "@angular/core"; +export interface MobileAppDeleteDialogData { + id: string; +} +export declare class RemoveAppDialogComponent extends DialogComponent { + protected store: Store; + protected router: Router; + protected dialogRef: MatDialogRef; + private data; + private translate; + private sanitizer; + private fb; + private mobileAppService; + readonly deleteApplicationText: SafeHtml; + readonly deleteVerificationText: string; + deleteVerification: import("@angular/forms").FormControl; + constructor(store: Store, router: Router, dialogRef: MatDialogRef, data: MobileAppDeleteDialogData, translate: TranslateService, sanitizer: DomSanitizer, fb: FormBuilder, mobileAppService: MobileAppService); + cancel(): void; + suspend(): void; + delete(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/modules/home/pages/mobile/bundes/bundles-routing.module.d.ts b/src/app/modules/home/pages/mobile/bundes/bundles-routing.module.d.ts new file mode 100644 index 00000000..9394b244 --- /dev/null +++ b/src/app/modules/home/pages/mobile/bundes/bundles-routing.module.d.ts @@ -0,0 +1,8 @@ +import { Routes } from '@angular/router'; +import * as i0 from "@angular/core"; +export declare const bundlesRoutes: Routes; +export declare class MobileBundleRoutingModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} diff --git a/src/app/modules/home/pages/mobile/bundes/bundles.module.d.ts b/src/app/modules/home/pages/mobile/bundes/bundles.module.d.ts new file mode 100644 index 00000000..1e4e0861 --- /dev/null +++ b/src/app/modules/home/pages/mobile/bundes/bundles.module.d.ts @@ -0,0 +1,24 @@ +import * as i0 from "@angular/core"; +import * as i1 from "@home/pages/mobile/bundes/mobile-bundle-table-header.component"; +import * as i2 from "@home/pages/mobile/bundes/mobile-bundle-dialog.component"; +import * as i3 from "@home/pages/mobile/bundes/layout/mobile-layout.component"; +import * as i4 from "@home/pages/mobile/bundes/layout/mobile-page-item-row.component"; +import * as i5 from "@home/pages/mobile/bundes/layout/add-mobile-page-dialog.component"; +import * as i6 from "@home/pages/mobile/bundes/layout/custom-mobile-page.component"; +import * as i7 from "@home/pages/mobile/bundes/layout/custom-mobile-page-panel.component"; +import * as i8 from "@home/pages/mobile/bundes/layout/default-mobile-page-panel.component"; +import * as i9 from "@home/pages/mobile/bundes/mobile-app-configuration-dialog.component"; +import * as i10 from "@home/pages/mobile/bundes/sefl-registration/mobile-self-registration.component"; +import * as i11 from "@home/pages/mobile/bundes/sefl-registration/mobile-registration-fields-panel.component"; +import * as i12 from "@home/pages/mobile/bundes/sefl-registration/mobile-registration-fields-row.component"; +import * as i13 from "@angular/common"; +import * as i14 from "@shared/shared.module"; +import * as i15 from "@home/components/home-components.module"; +import * as i16 from "@home/pages/mobile/bundes/bundles-routing.module"; +import * as i17 from "@home/components/widget/lib/settings/common/widget-settings-common.module"; +import * as i18 from "@home/pages/mobile/common/common-mobile.module"; +export declare class MobileBundlesModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} diff --git a/src/app/modules/home/pages/mobile/bundes/layout/add-mobile-page-dialog.component.d.ts b/src/app/modules/home/pages/mobile/bundes/layout/add-mobile-page-dialog.component.d.ts new file mode 100644 index 00000000..8a0f3ea7 --- /dev/null +++ b/src/app/modules/home/pages/mobile/bundes/layout/add-mobile-page-dialog.component.d.ts @@ -0,0 +1,20 @@ +import { DialogComponent } from '@shared/components/dialog.component'; +import { CustomMobilePage } from '@shared/models/mobile-app.models'; +import { Store } from '@ngrx/store'; +import { AppState } from '@core/core.state'; +import { Router } from '@angular/router'; +import { MatDialogRef } from '@angular/material/dialog'; +import { FormBuilder } from '@angular/forms'; +import * as i0 from "@angular/core"; +export declare class AddMobilePageDialogComponent extends DialogComponent { + protected store: Store; + protected router: Router; + dialogRef: MatDialogRef; + private fb; + customMobilePage: import("@angular/forms").FormControl; + constructor(store: Store, router: Router, dialogRef: MatDialogRef, fb: FormBuilder); + cancel(): void; + save(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/modules/home/pages/mobile/bundes/layout/custom-mobile-page-panel.component.d.ts b/src/app/modules/home/pages/mobile/bundes/layout/custom-mobile-page-panel.component.d.ts new file mode 100644 index 00000000..e5cbf78e --- /dev/null +++ b/src/app/modules/home/pages/mobile/bundes/layout/custom-mobile-page-panel.component.d.ts @@ -0,0 +1,19 @@ +import { EventEmitter, OnInit } from '@angular/core'; +import { FormBuilder } from '@angular/forms'; +import { CustomMobilePage } from '@shared/models/mobile-app.models'; +import { TbPopoverComponent } from '@shared/components/popover.component'; +import * as i0 from "@angular/core"; +export declare class CustomMobilePagePanelComponent implements OnInit { + private fb; + disabled: boolean; + pageItem: CustomMobilePage; + popover: TbPopoverComponent; + customMobilePageApplied: EventEmitter; + mobilePageControl: import("@angular/forms").FormControl; + constructor(fb: FormBuilder); + ngOnInit(): void; + cancel(): void; + apply(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/modules/home/pages/mobile/bundes/layout/custom-mobile-page.component.d.ts b/src/app/modules/home/pages/mobile/bundes/layout/custom-mobile-page.component.d.ts new file mode 100644 index 00000000..871317b2 --- /dev/null +++ b/src/app/modules/home/pages/mobile/bundes/layout/custom-mobile-page.component.d.ts @@ -0,0 +1,32 @@ +import { ControlValueAccessor, FormBuilder, ValidationErrors, Validator } from '@angular/forms'; +import { CustomMobilePage, MobilePageType } from '@shared/models/mobile-app.models'; +import { Store } from '@ngrx/store'; +import { AppState } from '@core/core.state'; +import * as i0 from "@angular/core"; +export declare class CustomMobilePageComponent implements ControlValueAccessor, Validator { + private fb; + private store; + disabled: boolean; + mobilePagesTypes: MobilePageType[]; + MobilePageType: typeof MobilePageType; + mobilePageTypeTranslations: Map; + customMobilePageForm: import("@angular/forms").FormGroup<{ + visible: import("@angular/forms").FormControl; + icon: import("@angular/forms").FormControl; + label: import("@angular/forms").FormControl; + type: import("@angular/forms").FormControl; + dashboardId: import("@angular/forms").FormControl; + url: import("@angular/forms").FormControl; + path: import("@angular/forms").FormControl; + }>; + private propagateChange; + constructor(fb: FormBuilder, store: Store); + registerOnChange(fn: any): void; + registerOnTouched(_fn: any): void; + setDisabledState(isDisabled: boolean): void; + validate(): ValidationErrors | null; + writeValue(value: CustomMobilePage): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; + static ngAcceptInputType_disabled: unknown; +} diff --git a/src/app/modules/home/pages/mobile/bundes/layout/default-mobile-page-panel.component.d.ts b/src/app/modules/home/pages/mobile/bundes/layout/default-mobile-page-panel.component.d.ts new file mode 100644 index 00000000..ce5915cc --- /dev/null +++ b/src/app/modules/home/pages/mobile/bundes/layout/default-mobile-page-panel.component.d.ts @@ -0,0 +1,30 @@ +import { EventEmitter, OnInit } from '@angular/core'; +import { DefaultMobilePage } from '@shared/models/mobile-app.models'; +import { TbPopoverComponent } from '@shared/components/popover.component'; +import { FormBuilder } from '@angular/forms'; +import * as i0 from "@angular/core"; +export declare class DefaultMobilePagePanelComponent implements OnInit { + private fb; + disabled: boolean; + pageItem: DefaultMobilePage; + popover: TbPopoverComponent; + defaultMobilePageApplied: EventEmitter; + mobilePageFormGroup: import("@angular/forms").FormGroup<{ + visible: import("@angular/forms").FormControl; + icon: import("@angular/forms").FormControl; + label: import("@angular/forms").FormControl; + }>; + isCleanupEnabled: boolean; + defaultItemName: string; + private defaultMobilePages; + private destroyRef; + constructor(fb: FormBuilder); + ngOnInit(): void; + cancel(): void; + apply(): void; + cleanup(): void; + private updateCleanupState; + private updateModel; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/modules/home/pages/mobile/bundes/layout/mobile-layout.component.d.ts b/src/app/modules/home/pages/mobile/bundes/layout/mobile-layout.component.d.ts new file mode 100644 index 00000000..ecdac17c --- /dev/null +++ b/src/app/modules/home/pages/mobile/bundes/layout/mobile-layout.component.d.ts @@ -0,0 +1,50 @@ +import { ElementRef } from '@angular/core'; +import { AbstractControl, ControlValueAccessor, FormArray, FormBuilder, FormControl, Validator } from '@angular/forms'; +import { MobileLayoutConfig, MobilePage } from '@shared/models/mobile-app.models'; +import { CdkDragDrop } from '@angular/cdk/drag-drop'; +import { BreakpointObserver } from '@angular/cdk/layout'; +import { MatDialog } from '@angular/material/dialog'; +import * as i0 from "@angular/core"; +export declare class MobileLayoutComponent implements ControlValueAccessor, Validator { + private fb; + private breakpointObserver; + private dialog; + readonly: boolean; + mobilePagesContainer: ElementRef; + pagesForm: import("@angular/forms").FormGroup<{ + pages: FormArray>; + }>; + maxIconNameBlockWidth: number; + showHiddenPages: FormControl; + private hideItemsSubject; + hideItems$: import("rxjs").Observable; + private propagateChange; + constructor(fb: FormBuilder, breakpointObserver: BreakpointObserver, dialog: MatDialog); + registerOnChange(fn: any): void; + registerOnTouched(_fn: any): void; + setDisabledState(isDisabled: boolean): void; + writeValue(layout: MobileLayoutConfig): void; + validate(_c: FormControl): { + invalidLayoutForm: boolean; + }; + hideAll(): void; + resetToDefault(): void; + get dragEnabled(): boolean; + visibleMobilePagesControls(): Array; + mobileItemDrop(event: CdkDragDrop): void; + trackByMenuItem(_index: number, menuItemControl: AbstractControl): any; + addCustomMobilePage(index?: number): void; + isCustom(menuItemControl: AbstractControl): boolean; + removeCustomPage(index: number): void; + showMenuDivider(index: number): boolean; + getDividerLabel(index: number): string; + private updateModel; + private prepareMobilePages; + private prepareMobilePagesFormArray; + private computeMaxIconNameBlockWidth; + private pagesFormArray; + private actualMobilePageIndex; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; + static ngAcceptInputType_readonly: unknown; +} diff --git a/src/app/modules/home/pages/mobile/bundes/layout/mobile-page-item-row.component.d.ts b/src/app/modules/home/pages/mobile/bundes/layout/mobile-page-item-row.component.d.ts new file mode 100644 index 00000000..5449f6e7 --- /dev/null +++ b/src/app/modules/home/pages/mobile/bundes/layout/mobile-page-item-row.component.d.ts @@ -0,0 +1,57 @@ +import { ChangeDetectorRef, EventEmitter, OnInit, Renderer2, ViewContainerRef } from '@angular/core'; +import { ControlValueAccessor, FormBuilder, ValidationErrors, Validator } from '@angular/forms'; +import { Observable } from 'rxjs'; +import { CustomMobilePage, DefaultMobilePage, MobilePageType } from '@shared/models/mobile-app.models'; +import { MatButton } from '@angular/material/button'; +import { TbPopoverService } from '@shared/components/popover.service'; +import { TranslateService } from '@ngx-translate/core'; +import * as i0 from "@angular/core"; +export declare class MobilePageItemRowComponent implements ControlValueAccessor, OnInit, Validator { + private fb; + private cd; + private popoverService; + private renderer; + private viewContainerRef; + private translate; + disabled: boolean; + maxIconNameBlockWidth: number; + hideItems: Observable; + pageRemoved: EventEmitter; + iconNameBlockWidth: string; + itemInfo: string; + isDefaultMenuItem: boolean; + isCustomMenuItem: boolean; + isCleanupEnabled: boolean; + mobilePageRowForm: import("@angular/forms").FormGroup<{ + visible: import("@angular/forms").FormControl; + icon: import("@angular/forms").FormControl; + label: import("@angular/forms").FormControl; + type: import("@angular/forms").FormControl; + }>; + private propagateChange; + private destroyRef; + private defaultMobilePages; + private defaultItemName; + private modelValue; + constructor(fb: FormBuilder, cd: ChangeDetectorRef, popoverService: TbPopoverService, renderer: Renderer2, viewContainerRef: ViewContainerRef, translate: TranslateService); + ngOnInit(): void; + registerOnChange(fn: any): void; + registerOnTouched(_fn: any): void; + setDisabledState(isDisabled: boolean): void; + validate(): ValidationErrors | null; + writeValue(value: DefaultMobilePage | CustomMobilePage): void; + cleanup(): void; + delete(): void; + edit($event: Event, matButton: MatButton): void; + get itemName(): string; + get itemNamePlaceholder(): string; + private updateIconNameBlockWidth; + private updateModel; + private updateCleanupState; + private updateItemInfo; + private afterPageEdit; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; + static ngAcceptInputType_disabled: unknown; + static ngAcceptInputType_maxIconNameBlockWidth: unknown; +} diff --git a/src/app/modules/home/pages/mobile/bundes/mobile-app-configuration-dialog.component.d.ts b/src/app/modules/home/pages/mobile/bundes/mobile-app-configuration-dialog.component.d.ts new file mode 100644 index 00000000..e8400461 --- /dev/null +++ b/src/app/modules/home/pages/mobile/bundes/mobile-app-configuration-dialog.component.d.ts @@ -0,0 +1,33 @@ +import { DialogComponent } from '@shared/components/dialog.component'; +import { Store } from '@ngrx/store'; +import { AppState } from '@core/core.state'; +import { Router } from '@angular/router'; +import { MatDialogRef } from '@angular/material/dialog'; +import { MobileApp } from '@shared/models/mobile-app.models'; +import * as i0 from "@angular/core"; +export interface MobileAppConfigurationDialogData { + afterAdd: boolean; + androidApp: MobileApp; + iosApp: MobileApp; +} +export declare class MobileAppConfigurationDialogComponent extends DialogComponent { + protected store: Store; + protected router: Router; + private data; + protected dialogRef: MatDialogRef; + notShowAgain: boolean; + setApplication: boolean; + showDontShowAgain: boolean; + gitRepositoryLink: string; + pathToConstants: string; + flutterRunCommand: string; + flutterInstallRenameCommand: string; + configureApi: string; + renameCommands: string[]; + constructor(store: Store, router: Router, data: MobileAppConfigurationDialogData, dialogRef: MatDialogRef); + close(): void; + createMarkDownCommand(commands: string | string[]): string; + private createMarkDownSingleCommand; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/modules/home/pages/mobile/bundes/mobile-bundle-dialog.component.d.ts b/src/app/modules/home/pages/mobile/bundes/mobile-bundle-dialog.component.d.ts new file mode 100644 index 00000000..76f9ddf0 --- /dev/null +++ b/src/app/modules/home/pages/mobile/bundes/mobile-bundle-dialog.component.d.ts @@ -0,0 +1,73 @@ +import { MobileAppBundle, MobileAppBundleInfo } from '@shared/models/mobile-app.models'; +import { DialogComponent } from '@shared/components/dialog.component'; +import { Store } from '@ngrx/store'; +import { AppState } from '@core/core.state'; +import { Router } from '@angular/router'; +import { MatDialog, MatDialogRef } from '@angular/material/dialog'; +import { Observable } from 'rxjs'; +import { StepperOrientation, StepperSelectionEvent } from '@angular/cdk/stepper'; +import { BreakpointObserver } from '@angular/cdk/layout'; +import { FormBuilder } from '@angular/forms'; +import { EntityType } from '@shared/models/entity-type.models'; +import { PlatformType } from '@shared/models/oauth2.models'; +import { MatStepper } from '@angular/material/stepper'; +import { MobileAppService } from '@core/http/mobile-app.service'; +import { Operation, Resource } from '@shared/models/security.models'; +import { UserPermissionsService } from '@core/http/user-permissions.service'; +import * as i0 from "@angular/core"; +export interface MobileBundleDialogData { + bundle?: MobileAppBundleInfo; + isAdd?: boolean; +} +export declare class MobileBundleDialogComponent extends DialogComponent { + protected store: Store; + protected router: Router; + protected dialogRef: MatDialogRef; + data: MobileBundleDialogData; + private breakpointObserver; + private fb; + private dialog; + private mobileAppService; + private userPermissionsService; + addMobileBundle: MatStepper; + readonly entityType: typeof EntityType; + readonly resource: typeof Resource; + readonly operation: typeof Operation; + selectedIndex: number; + dialogTitle: string; + stepperOrientation: Observable; + platformType: typeof PlatformType; + bundlesForms: import("@angular/forms").FormGroup<{ + title: import("@angular/forms").FormControl; + androidAppId: import("@angular/forms").FormControl; + iosAppId: import("@angular/forms").FormControl; + description: import("@angular/forms").FormControl; + }>; + oauthForms: import("@angular/forms").FormGroup<{ + oauth2Enabled: import("@angular/forms").FormControl; + oauth2ClientIds: import("@angular/forms").FormControl; + }>; + layoutForms: import("@angular/forms").FormGroup<{ + layoutConfig: import("@angular/forms").FormControl; + }>; + selfRegistrationForm: import("@angular/forms").FormGroup<{ + selfRegistrationParams: import("@angular/forms").FormControl; + }>; + isAdd: boolean; + readonly isSysAdmin: boolean; + readonly: boolean; + constructor(store: Store, router: Router, dialogRef: MatDialogRef, data: MobileBundleDialogData, breakpointObserver: BreakpointObserver, fb: FormBuilder, dialog: MatDialog, mobileAppService: MobileAppService, userPermissionsService: UserPermissionsService); + cancel(): void; + backStep(): void; + nextStep(): void; + nextStepLabel(): string; + changeStep($event: StepperSelectionEvent): void; + createApplication(formControl: string, platformType: PlatformType): void; + createClient($event: Event): void; + private get maxStepperIndex(); + private add; + private allValid; + private get mobileAppBundleFormValue(); + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/modules/home/pages/mobile/bundes/mobile-bundle-table-config.resolve.d.ts b/src/app/modules/home/pages/mobile/bundes/mobile-bundle-table-config.resolve.d.ts new file mode 100644 index 00000000..28775985 --- /dev/null +++ b/src/app/modules/home/pages/mobile/bundes/mobile-bundle-table-config.resolve.d.ts @@ -0,0 +1,28 @@ +import { EntityTableConfig } from '@home/models/entity/entities-table-config.models'; +import { MobileAppBundleInfo } from '@shared/models/mobile-app.models'; +import { ActivatedRouteSnapshot } from '@angular/router'; +import { DatePipe } from '@angular/common'; +import { MobileAppService } from '@core/http/mobile-app.service'; +import { TranslateService } from '@ngx-translate/core'; +import { MatDialog } from '@angular/material/dialog'; +import { Store } from '@ngrx/store'; +import { AppState } from '@core/core.state'; +import { UserPermissionsService } from '@core/http/user-permissions.service'; +import * as i0 from "@angular/core"; +export declare class MobileBundleTableConfigResolver { + private datePipe; + private mobileAppService; + private translate; + private dialog; + private store; + private userPermissionsService; + private readonly config; + constructor(datePipe: DatePipe, mobileAppService: MobileAppService, translate: TranslateService, dialog: MatDialog, store: Store, userPermissionsService: UserPermissionsService); + resolve(_route: ActivatedRouteSnapshot): EntityTableConfig; + private configureCellActions; + private editBundle; + private onBundleAction; + private configurationApp; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} diff --git a/src/app/modules/home/pages/mobile/bundes/mobile-bundle-table-header.component.d.ts b/src/app/modules/home/pages/mobile/bundes/mobile-bundle-table-header.component.d.ts new file mode 100644 index 00000000..3561a56a --- /dev/null +++ b/src/app/modules/home/pages/mobile/bundes/mobile-bundle-table-header.component.d.ts @@ -0,0 +1,15 @@ +import { EntityTableHeaderComponent } from '@home/components/entity/entity-table-header.component'; +import { MobileAppBundleInfo } from '@shared/models/mobile-app.models'; +import { Store } from '@ngrx/store'; +import { AppState } from '@core/core.state'; +import { Operation, Resource } from '@shared/models/security.models'; +import * as i0 from "@angular/core"; +export declare class MobileBundleTableHeaderComponent extends EntityTableHeaderComponent { + protected store: Store; + readonly resource: typeof Resource; + readonly operation: typeof Operation; + constructor(store: Store); + createBundle($event: Event): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/modules/home/pages/mobile/bundes/sefl-registration/mobile-registration-fields-panel.component.d.ts b/src/app/modules/home/pages/mobile/bundes/sefl-registration/mobile-registration-fields-panel.component.d.ts new file mode 100644 index 00000000..d129e1d1 --- /dev/null +++ b/src/app/modules/home/pages/mobile/bundes/sefl-registration/mobile-registration-fields-panel.component.d.ts @@ -0,0 +1,27 @@ +import { AbstractControl, ControlValueAccessor, FormBuilder, ValidationErrors, Validator } from '@angular/forms'; +import { SignUpField, SignUpFieldId } from '@shared/models/self-register.models'; +import { CdkDragDrop } from '@angular/cdk/drag-drop'; +import * as i0 from "@angular/core"; +export declare class MobileRegistrationFieldsPanelComponent implements ControlValueAccessor, Validator { + private fb; + disabled: boolean; + registrationFields: import("@angular/forms").FormArray>; + allowRegistrationFields: SignUpFieldId[]; + readonly maxFields: number; + private propagateChange; + constructor(fb: FormBuilder); + registerOnChange(fn: any): void; + registerOnTouched(_fn: any): void; + setDisabledState(isDisabled: boolean): void; + validate(): ValidationErrors | null; + writeValue(registrationFields: Array): void; + get dragEnabled(): boolean; + addFields(): void; + trackByFields(_index: number, fieldControl: AbstractControl): any; + fieldDrop(event: CdkDragDrop): void; + removeField(index: number): void; + private calculateAllowFields; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; + static ngAcceptInputType_disabled: unknown; +} diff --git a/src/app/modules/home/pages/mobile/bundes/sefl-registration/mobile-registration-fields-row.component.d.ts b/src/app/modules/home/pages/mobile/bundes/sefl-registration/mobile-registration-fields-row.component.d.ts new file mode 100644 index 00000000..e1b9828a --- /dev/null +++ b/src/app/modules/home/pages/mobile/bundes/sefl-registration/mobile-registration-fields-row.component.d.ts @@ -0,0 +1,30 @@ +import { EventEmitter } from '@angular/core'; +import { ControlValueAccessor, FormBuilder, ValidationErrors, Validator } from '@angular/forms'; +import { SignUpField, SignUpFieldId } from '@shared/models/self-register.models'; +import { TranslateService } from '@ngx-translate/core'; +import * as i0 from "@angular/core"; +export declare class MobileRegistrationFieldsRowComponent implements ControlValueAccessor, Validator { + private fb; + private translate; + allowFieldIds: SignUpFieldId[]; + disabled: boolean; + fieldRemoved: EventEmitter; + fieldForm: import("@angular/forms").FormGroup<{ + required: import("@angular/forms").FormControl; + id: import("@angular/forms").FormControl; + label: import("@angular/forms").FormControl; + }>; + SignUpFieldMap: Map; + private propagateChange; + constructor(fb: FormBuilder, translate: TranslateService); + registerOnChange(fn: any): void; + registerOnTouched(_fn: any): void; + setDisabledState(isDisabled: boolean): void; + validate(): ValidationErrors | null; + writeValue(value: SignUpField): void; + get hideModify(): boolean; + private updatedDisabledState; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; + static ngAcceptInputType_disabled: unknown; +} diff --git a/src/app/modules/home/pages/mobile/bundes/sefl-registration/mobile-self-registration.component.d.ts b/src/app/modules/home/pages/mobile/bundes/sefl-registration/mobile-self-registration.component.d.ts new file mode 100644 index 00000000..5b0a1134 --- /dev/null +++ b/src/app/modules/home/pages/mobile/bundes/sefl-registration/mobile-self-registration.component.d.ts @@ -0,0 +1,78 @@ +import { OnChanges, Renderer2, SimpleChanges, ViewContainerRef } from '@angular/core'; +import { ControlValueAccessor, FormBuilder, ValidationErrors, Validator } from '@angular/forms'; +import { MatButton } from '@angular/material/button'; +import { TbPopoverService } from '@shared/components/popover.service'; +import { EntityType } from '@shared/models/entity-type.models'; +import { CMAssigneeType, CMScope } from '@app/shared/models/custom-menu.models'; +import { GroupPermission } from '@shared/models/group-permission.models'; +import { CaptchaVersion, MobileSelfRegistrationParams } from '@shared/models/self-register.models'; +import { TranslateService } from '@ngx-translate/core'; +import { NotificationTargetId } from '@shared/models/id/notification-target-id'; +import { MatDialog } from '@angular/material/dialog'; +import * as i0 from "@angular/core"; +export declare class MobileSelfRegistrationComponent implements ControlValueAccessor, Validator, OnChanges { + private fb; + private popoverService; + private renderer; + private viewContainerRef; + private translate; + private dialog; + androidApp: boolean; + iOSApp: boolean; + selfRegistrationForm: import("@angular/forms").FormGroup<{ + enabled: import("@angular/forms").FormControl; + title: import("@angular/forms").FormControl; + notificationRecipient: import("@angular/forms").FormControl; + redirect: import("@angular/forms").FormGroup<{ + scheme: import("@angular/forms").FormControl; + host: import("@angular/forms").FormControl; + }>; + signUpFields: import("@angular/forms").FormControl; + captcha: import("@angular/forms").FormGroup<{ + version: import("@angular/forms").FormControl; + siteKey: import("@angular/forms").FormControl; + secretKey: import("@angular/forms").FormControl; + logActionName: import("@angular/forms").FormControl; + projectId: import("@angular/forms").FormControl; + androidKey: import("@angular/forms").FormControl; + iosKey: import("@angular/forms").FormControl; + serviceAccountCredentials: import("@angular/forms").FormControl; + serviceAccountCredentialsFileName: import("@angular/forms").FormControl; + }>; + showPrivacyPolicy: import("@angular/forms").FormControl; + showTermsOfUse: import("@angular/forms").FormControl; + termsOfUse: import("@angular/forms").FormControl; + privacyPolicy: import("@angular/forms").FormControl; + permissions: import("@angular/forms").FormControl; + customerGroupId: import("@angular/forms").FormControl; + customerTitlePrefix: import("@angular/forms").FormControl; + customMenuId: import("@angular/forms").FormControl; + defaultDashboard: import("@angular/forms").FormGroup<{ + id: import("@angular/forms").FormControl; + fullscreen: import("@angular/forms").FormControl; + }>; + homeDashboard: import("@angular/forms").FormGroup<{ + id: import("@angular/forms").FormControl; + hideToolbar: import("@angular/forms").FormControl; + }>; + }>; + EntityType: typeof EntityType; + CMScope: typeof CMScope; + CMAssigneeType: typeof CMAssigneeType; + private propagateChange; + constructor(fb: FormBuilder, popoverService: TbPopoverService, renderer: Renderer2, viewContainerRef: ViewContainerRef, translate: TranslateService, dialog: MatDialog); + ngOnChanges(changes: SimpleChanges): void; + registerOnChange(fn: any): void; + registerOnTouched(_fn: any): void; + setDisabledState(isDisabled: boolean): void; + writeValue(params: MobileSelfRegistrationParams): void; + validate(): ValidationErrors | null; + editPolicy($event: Event, matButton: MatButton, isPrivacy?: boolean): void; + createTarget(): void; + private updateModel; + private updatedCaptchaDisabledState; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; + static ngAcceptInputType_androidApp: unknown; + static ngAcceptInputType_iOSApp: unknown; +} diff --git a/src/app/modules/home/pages/mobile/common/common-mobile.module.d.ts b/src/app/modules/home/pages/mobile/common/common-mobile.module.d.ts new file mode 100644 index 00000000..31b1e450 --- /dev/null +++ b/src/app/modules/home/pages/mobile/common/common-mobile.module.d.ts @@ -0,0 +1,9 @@ +import * as i0 from "@angular/core"; +import * as i1 from "@home/pages/mobile/common/editor-panel.component"; +import * as i2 from "@angular/common"; +import * as i3 from "@shared/shared.module"; +export declare class CommonMobileModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} diff --git a/src/app/modules/home/pages/mobile/common/editor-panel.component.d.ts b/src/app/modules/home/pages/mobile/common/editor-panel.component.d.ts new file mode 100644 index 00000000..b0ee76e0 --- /dev/null +++ b/src/app/modules/home/pages/mobile/common/editor-panel.component.d.ts @@ -0,0 +1,20 @@ +import { EventEmitter, OnInit } from '@angular/core'; +import { FormBuilder, FormControl } from '@angular/forms'; +import { TbPopoverComponent } from '@shared/components/popover.component'; +import * as i0 from "@angular/core"; +export declare class EditorPanelComponent implements OnInit { + private fb; + disabled: boolean; + content: string; + title: string; + popover: TbPopoverComponent; + editorContentApplied: EventEmitter; + editorControl: FormControl; + tinyMceOptions: Record; + constructor(fb: FormBuilder); + ngOnInit(): void; + cancel(): void; + apply(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/modules/home/pages/mobile/mobile-routing.module.d.ts b/src/app/modules/home/pages/mobile/mobile-routing.module.d.ts new file mode 100644 index 00000000..30e84705 --- /dev/null +++ b/src/app/modules/home/pages/mobile/mobile-routing.module.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +import * as i1 from "@angular/router"; +export declare class MobileRoutingModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} diff --git a/src/app/modules/home/pages/mobile/mobile.module.d.ts b/src/app/modules/home/pages/mobile/mobile.module.d.ts new file mode 100644 index 00000000..397f3a5a --- /dev/null +++ b/src/app/modules/home/pages/mobile/mobile.module.d.ts @@ -0,0 +1,13 @@ +import * as i0 from "@angular/core"; +import * as i1 from "@angular/common"; +import * as i2 from "@shared/shared.module"; +import * as i3 from "@home/components/home-components.module"; +import * as i4 from "@home/pages/mobile/applications/applications.module"; +import * as i5 from "@home/pages/mobile/bundes/bundles.module"; +import * as i6 from "@home/pages/mobile/qr-code-widget/mobile-qr-code-widget-settings.module"; +import * as i7 from "@home/pages/mobile/mobile-routing.module"; +export declare class MobileModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} diff --git a/src/app/modules/home/pages/mobile/qr-code-widget/mobile-qr-code-widget-settings-routing.module.d.ts b/src/app/modules/home/pages/mobile/qr-code-widget/mobile-qr-code-widget-settings-routing.module.d.ts new file mode 100644 index 00000000..0909c75d --- /dev/null +++ b/src/app/modules/home/pages/mobile/qr-code-widget/mobile-qr-code-widget-settings-routing.module.d.ts @@ -0,0 +1,9 @@ +import { Routes } from '@angular/router'; +import * as i0 from "@angular/core"; +import * as i1 from "@angular/router"; +export declare const qrCodeWidgetRoutes: Routes; +export declare class MobileQrCodeWidgetSettingsRoutingModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} diff --git a/src/app/modules/home/pages/mobile/qr-code-widget/mobile-qr-code-widget-settings.component.d.ts b/src/app/modules/home/pages/mobile/qr-code-widget/mobile-qr-code-widget-settings.component.d.ts new file mode 100644 index 00000000..2ed89e4c --- /dev/null +++ b/src/app/modules/home/pages/mobile/qr-code-widget/mobile-qr-code-widget-settings.component.d.ts @@ -0,0 +1,45 @@ +import { Store } from '@ngrx/store'; +import { AppState } from '@core/core.state'; +import { PageComponent } from '@shared/components/page.component'; +import { FormBuilder, FormGroup } from '@angular/forms'; +import { HasConfirmForm } from '@core/guards/confirm-on-exit.guard'; +import { MobileApplicationService } from '@core/http/mobile-application.service'; +import { BadgePosition } from '@shared/models/mobile-app.models'; +import { EntityType } from '@shared/models/entity-type.models'; +import { UserPermissionsService } from '@core/http/user-permissions.service'; +import { WhiteLabelingService } from '@core/http/white-labeling.service'; +import * as i0 from "@angular/core"; +export declare class MobileQrCodeWidgetSettingsComponent extends PageComponent implements HasConfirmForm { + protected store: Store; + private mobileAppService; + private fb; + private userPermissionsService; + private wl; + readonly badgePositionTranslationsMap: Map; + readonly entityType: typeof EntityType; + setBaseURL: boolean; + mobileAppSettingsForm: FormGroup<{ + useSystemSettings: import("@angular/forms").FormControl; + useDefaultApp: import("@angular/forms").FormControl; + mobileAppBundleId: import("@angular/forms").FormControl; + androidEnabled: import("@angular/forms").FormControl; + iosEnabled: import("@angular/forms").FormControl; + qrCodeConfig: FormGroup<{ + showOnHomePage: import("@angular/forms").FormControl; + badgeEnabled: import("@angular/forms").FormControl; + badgePosition: import("@angular/forms").FormControl; + qrCodeLabelEnabled: import("@angular/forms").FormControl; + qrCodeLabel: import("@angular/forms").FormControl; + }>; + }>; + private authUser; + private mobileAppSettings; + readonly: boolean; + constructor(store: Store, mobileAppService: MobileApplicationService, fb: FormBuilder, userPermissionsService: UserPermissionsService, wl: WhiteLabelingService); + isTenantAdmin(): boolean; + private processMobileAppSettings; + save(): void; + confirmForm(): FormGroup; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/modules/home/pages/mobile/qr-code-widget/mobile-qr-code-widget-settings.module.d.ts b/src/app/modules/home/pages/mobile/qr-code-widget/mobile-qr-code-widget-settings.module.d.ts new file mode 100644 index 00000000..2b622a18 --- /dev/null +++ b/src/app/modules/home/pages/mobile/qr-code-widget/mobile-qr-code-widget-settings.module.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +import * as i1 from "@home/pages/mobile/qr-code-widget/mobile-qr-code-widget-settings.component"; +import * as i2 from "@angular/common"; +import * as i3 from "@shared/shared.module"; +import * as i4 from "@home/components/home-components.module"; +import * as i5 from "@home/components/widget/widget-components.module"; +import * as i6 from "@home/pages/mobile/qr-code-widget/mobile-qr-code-widget-settings-routing.module"; +export declare class MobileQrCodeWidgetSettingsModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} diff --git a/src/app/modules/home/pages/notification/recipient/recipient-table-config.resolver.d.ts b/src/app/modules/home/pages/notification/recipient/recipient-table-config.resolver.d.ts index fe049ccf..d68ca8c3 100644 --- a/src/app/modules/home/pages/notification/recipient/recipient-table-config.resolver.d.ts +++ b/src/app/modules/home/pages/notification/recipient/recipient-table-config.resolver.d.ts @@ -5,6 +5,7 @@ import { TranslateService } from '@ngx-translate/core'; import { MatDialog } from '@angular/material/dialog'; import { ActivatedRouteSnapshot } from '@angular/router'; import { DatePipe } from '@angular/common'; +import { CustomTranslatePipe } from '@shared/pipe/custom-translate.pipe'; import { UserPermissionsService } from '@core/http/user-permissions.service'; import * as i0 from "@angular/core"; export declare class RecipientTableConfigResolver { @@ -12,9 +13,10 @@ export declare class RecipientTableConfigResolver { private translate; private dialog; private datePipe; + private customTranslate; private userPermissionsService; private readonly config; - constructor(notificationService: NotificationService, translate: TranslateService, dialog: MatDialog, datePipe: DatePipe, userPermissionsService: UserPermissionsService); + constructor(notificationService: NotificationService, translate: TranslateService, dialog: MatDialog, datePipe: DatePipe, customTranslate: CustomTranslatePipe, userPermissionsService: UserPermissionsService); resolve(route: ActivatedRouteSnapshot): EntityTableConfig; private configureCellActions; private editTarget; diff --git a/src/app/modules/home/pages/notification/rule/rule-table-config.resolver.d.ts b/src/app/modules/home/pages/notification/rule/rule-table-config.resolver.d.ts index 9f33b713..533c4b1d 100644 --- a/src/app/modules/home/pages/notification/rule/rule-table-config.resolver.d.ts +++ b/src/app/modules/home/pages/notification/rule/rule-table-config.resolver.d.ts @@ -5,6 +5,7 @@ import { TranslateService } from '@ngx-translate/core'; import { MatDialog } from '@angular/material/dialog'; import { ActivatedRouteSnapshot } from '@angular/router'; import { DatePipe } from '@angular/common'; +import { CustomTranslatePipe } from '@shared/pipe/custom-translate.pipe'; import { UserPermissionsService } from '@core/http/user-permissions.service'; import * as i0 from "@angular/core"; export declare class RuleTableConfigResolver { @@ -12,9 +13,10 @@ export declare class RuleTableConfigResolver { private translate; private dialog; private datePipe; + private customTranslate; private userPermissionsService; private readonly config; - constructor(notificationService: NotificationService, translate: TranslateService, dialog: MatDialog, datePipe: DatePipe, userPermissionsService: UserPermissionsService); + constructor(notificationService: NotificationService, translate: TranslateService, dialog: MatDialog, datePipe: DatePipe, customTranslate: CustomTranslatePipe, userPermissionsService: UserPermissionsService); resolve(route: ActivatedRouteSnapshot): EntityTableConfig; private configureCellActions; private editRule; diff --git a/src/app/modules/home/pages/notification/sent/sent-notification-dialog.componet.d.ts b/src/app/modules/home/pages/notification/sent/sent-notification-dialog.componet.d.ts index 9f3b92c5..94412f91 100644 --- a/src/app/modules/home/pages/notification/sent/sent-notification-dialog.componet.d.ts +++ b/src/app/modules/home/pages/notification/sent/sent-notification-dialog.componet.d.ts @@ -41,6 +41,7 @@ export declare class SentNotificationDialogComponent extends TemplateConfigurati preview: NotificationRequestPreview; dialogTitle: string; showRefresh: boolean; + tinyMceOptions: Record; private authUser; private authState; private allowNotificationDeliveryMethods; diff --git a/src/app/modules/home/pages/role/roles-table-config.resolver.d.ts b/src/app/modules/home/pages/role/roles-table-config.resolver.d.ts index 3d009059..984c6511 100644 --- a/src/app/modules/home/pages/role/roles-table-config.resolver.d.ts +++ b/src/app/modules/home/pages/role/roles-table-config.resolver.d.ts @@ -6,6 +6,7 @@ import { EntityAction } from '@home/models/entity/entity-component.models'; import { Role } from '@shared/models/role.models'; import { RoleService } from '@core/http/role.service'; import { UserPermissionsService } from '@core/http/user-permissions.service'; +import { CustomTranslatePipe } from '@shared/pipe/custom-translate.pipe'; import * as i0 from "@angular/core"; export declare class RolesTableConfigResolver { private roleService; @@ -13,8 +14,9 @@ export declare class RolesTableConfigResolver { private translate; private router; private datePipe; + private customTranslate; private readonly config; - constructor(roleService: RoleService, userPermissionsService: UserPermissionsService, translate: TranslateService, router: Router, datePipe: DatePipe); + constructor(roleService: RoleService, userPermissionsService: UserPermissionsService, translate: TranslateService, router: Router, datePipe: DatePipe, customTranslate: CustomTranslatePipe); resolve(): EntityTableConfig; openRoles($event: Event, role: Role): void; onRoleAction(action: EntityAction): boolean; diff --git a/src/app/modules/home/pages/rulechain/rule-node-details.component.d.ts b/src/app/modules/home/pages/rulechain/rule-node-details.component.d.ts index 1da0ccaf..ee064060 100644 --- a/src/app/modules/home/pages/rulechain/rule-node-details.component.d.ts +++ b/src/app/modules/home/pages/rulechain/rule-node-details.component.d.ts @@ -26,6 +26,7 @@ export declare class RuleNodeDetailsComponent extends PageComponent implements O entityType: typeof EntityType; serviceType: ServiceType; ruleNodeFormGroup: UntypedFormGroup; + readonly ruleChainDebugPerTenantLimitsConfiguration: string; private destroy$; constructor(store: Store, fb: UntypedFormBuilder, router: Router); private buildForm; @@ -34,6 +35,7 @@ export declare class RuleNodeDetailsComponent extends PageComponent implements O ngOnDestroy(): void; ngOnChanges(changes: SimpleChanges): void; validate(): void; + onSingleModeChange($event: Event): void; openRuleChain($event: Event): void; isAddQueue(): boolean; isSingleton(): boolean; diff --git a/src/app/modules/home/pages/rulechain/rulechain.module.d.ts b/src/app/modules/home/pages/rulechain/rulechain.module.d.ts index 0395bad9..432607ea 100644 --- a/src/app/modules/home/pages/rulechain/rulechain.module.d.ts +++ b/src/app/modules/home/pages/rulechain/rulechain.module.d.ts @@ -11,8 +11,10 @@ import * as i9 from "@angular/common"; import * as i10 from "@shared/shared.module"; import * as i11 from "@modules/home/components/home-components.module"; import * as i12 from "@modules/home/pages/rulechain/rulechain-routing.module"; +import * as i13 from "@shared/pipe/duration-left.pipe"; +import * as i14 from "@home/components/debug-settings/debug-settings-button.component"; export declare class RuleChainModule { static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } diff --git a/src/app/modules/home/pages/rulechain/rulechains-table-config.d.ts b/src/app/modules/home/pages/rulechain/rulechains-table-config.d.ts index dd4243c2..4315421e 100644 --- a/src/app/modules/home/pages/rulechain/rulechains-table-config.d.ts +++ b/src/app/modules/home/pages/rulechain/rulechains-table-config.d.ts @@ -11,6 +11,7 @@ import { DatePipe } from '@angular/common'; import { ActivatedRouteSnapshot, Router } from '@angular/router'; import { UtilsService } from '@core/services/utils.service'; import { UserPermissionsService } from '@core/http/user-permissions.service'; +import { CustomTranslatePipe } from '@shared/pipe/custom-translate.pipe'; export declare class RuleChainsTableConfig extends EntityTableConfig { private ruleChainService; private dialogService; @@ -21,10 +22,11 @@ export declare class RuleChainsTableConfig extends EntityTableConfig private translate; private datePipe; private router; + private customTranslate; private utils; private userPermissionsService; private params; - constructor(ruleChainService: RuleChainService, dialogService: DialogService, dialog: MatDialog, importExport: ImportExportService, itembuffer: ItemBufferService, edgeService: EdgeService, translate: TranslateService, datePipe: DatePipe, router: Router, utils: UtilsService, userPermissionsService: UserPermissionsService, params: ActivatedRouteSnapshot | RuleChainParams); + constructor(ruleChainService: RuleChainService, dialogService: DialogService, dialog: MatDialog, importExport: ImportExportService, itembuffer: ItemBufferService, edgeService: EdgeService, translate: TranslateService, datePipe: DatePipe, router: Router, customTranslate: CustomTranslatePipe, utils: UtilsService, userPermissionsService: UserPermissionsService, params: ActivatedRouteSnapshot | RuleChainParams); private setComponentsData; private configureEntityTableColumns; private configureGroupActions; diff --git a/src/app/modules/home/pages/rulechain/rulechains-table-config.resolver.d.ts b/src/app/modules/home/pages/rulechain/rulechains-table-config.resolver.d.ts index f6b21e13..5d46bf79 100644 --- a/src/app/modules/home/pages/rulechain/rulechains-table-config.resolver.d.ts +++ b/src/app/modules/home/pages/rulechain/rulechains-table-config.resolver.d.ts @@ -10,8 +10,8 @@ import { ItemBufferService } from '@core/services/item-buffer.service'; import { EdgeService } from '@core/http/edge.service'; import { MatDialog } from '@angular/material/dialog'; import { UtilsService } from '@core/services/utils.service'; +import { CustomTranslatePipe } from '@shared/pipe/custom-translate.pipe'; import { UserPermissionsService } from '@core/http/user-permissions.service'; -import { HomeDialogsService } from '@home/dialogs/home-dialogs.service'; import * as i0 from "@angular/core"; export declare class RuleChainsTableConfigResolver { private ruleChainService; @@ -20,13 +20,13 @@ export declare class RuleChainsTableConfigResolver { private importExport; private itembuffer; private edgeService; - private homeDialogs; private translate; private datePipe; private router; + private customTranslate; private utils; private userPermissionsService; - constructor(ruleChainService: RuleChainService, dialogService: DialogService, dialog: MatDialog, importExport: ImportExportService, itembuffer: ItemBufferService, edgeService: EdgeService, homeDialogs: HomeDialogsService, translate: TranslateService, datePipe: DatePipe, router: Router, utils: UtilsService, userPermissionsService: UserPermissionsService); + constructor(ruleChainService: RuleChainService, dialogService: DialogService, dialog: MatDialog, importExport: ImportExportService, itembuffer: ItemBufferService, edgeService: EdgeService, translate: TranslateService, datePipe: DatePipe, router: Router, customTranslate: CustomTranslatePipe, utils: UtilsService, userPermissionsService: UserPermissionsService); resolve(route: ActivatedRouteSnapshot): EntityTableConfig; resolveRuleChainsTableConfig(params: ActivatedRouteSnapshot | RuleChainParams): EntityTableConfig; static ɵfac: i0.ɵɵFactoryDeclaration; diff --git a/src/app/modules/home/pages/scada-symbol/scada-symbol.component.d.ts b/src/app/modules/home/pages/scada-symbol/scada-symbol.component.d.ts index f4413df7..4669708e 100644 --- a/src/app/modules/home/pages/scada-symbol/scada-symbol.component.d.ts +++ b/src/app/modules/home/pages/scada-symbol/scada-symbol.component.d.ts @@ -1,4 +1,4 @@ -import { AfterViewInit, ChangeDetectorRef, EventEmitter, OnDestroy, OnInit } from '@angular/core'; +import { ChangeDetectorRef, EventEmitter, OnDestroy, OnInit } from '@angular/core'; import { PageComponent } from '@shared/components/page.component'; import { Store } from '@ngrx/store'; import { AppState } from '@core/core.state'; @@ -20,7 +20,7 @@ import { MatDialog } from '@angular/material/dialog'; import { GridType } from 'angular-gridster2'; import { WidgetService } from '@core/http/widget.service'; import * as i0 from "@angular/core"; -export declare class ScadaSymbolComponent extends PageComponent implements OnInit, OnDestroy, AfterViewInit, HasDirtyFlag, ScadaSymbolEditObjectCallbacks { +export declare class ScadaSymbolComponent extends PageComponent implements OnInit, OnDestroy, HasDirtyFlag, ScadaSymbolEditObjectCallbacks { protected store: Store; private route; private fb; @@ -63,7 +63,6 @@ export declare class ScadaSymbolComponent extends PageComponent implements OnIni set isDirty(value: boolean); constructor(store: Store, route: ActivatedRoute, fb: UntypedFormBuilder, cd: ChangeDetectorRef, entityService: EntityService, utils: UtilsService, translate: TranslateService, imageService: ImageService, widgetService: WidgetService, dialog: MatDialog); ngOnInit(): void; - ngAfterViewInit(): void; ngOnDestroy(): void; onApplyScadaSymbolConfig(): void; onRevertScadaSymbolConfig(): void; diff --git a/src/app/modules/home/pages/tenant-profile/tenant-profiles-table-config.resolver.d.ts b/src/app/modules/home/pages/tenant-profile/tenant-profiles-table-config.resolver.d.ts index 86e2006d..bd277a75 100644 --- a/src/app/modules/home/pages/tenant-profile/tenant-profiles-table-config.resolver.d.ts +++ b/src/app/modules/home/pages/tenant-profile/tenant-profiles-table-config.resolver.d.ts @@ -9,6 +9,7 @@ import { DialogService } from '@core/services/dialog.service'; import { UserPermissionsService } from '@core/http/user-permissions.service'; import { UtilsService } from '@core/services/utils.service'; import { ImportExportService } from '@shared/import-export/import-export.service'; +import { CustomTranslatePipe } from '@shared/pipe/custom-translate.pipe'; import * as i0 from "@angular/core"; export declare class TenantProfilesTableConfigResolver { private tenantProfileService; @@ -17,10 +18,11 @@ export declare class TenantProfilesTableConfigResolver { private datePipe; private router; private dialogService; + private customTranslate; private utils; private userPermissionService; private readonly config; - constructor(tenantProfileService: TenantProfileService, importExport: ImportExportService, translate: TranslateService, datePipe: DatePipe, router: Router, dialogService: DialogService, utils: UtilsService, userPermissionService: UserPermissionsService); + constructor(tenantProfileService: TenantProfileService, importExport: ImportExportService, translate: TranslateService, datePipe: DatePipe, router: Router, dialogService: DialogService, customTranslate: CustomTranslatePipe, utils: UtilsService, userPermissionService: UserPermissionsService); resolve(): EntityTableConfig; configureAddActions(): Array; private openTenantProfile; diff --git a/src/app/modules/home/pages/widget/widget-editor.component.d.ts b/src/app/modules/home/pages/widget/widget-editor.component.d.ts index cc898372..58187b72 100644 --- a/src/app/modules/home/pages/widget/widget-editor.component.d.ts +++ b/src/app/modules/home/pages/widget/widget-editor.component.d.ts @@ -1,5 +1,5 @@ import { PageComponent } from '@shared/components/page.component'; -import { ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core'; +import { ElementRef, EventEmitter, OnDestroy, OnInit, Renderer2, ViewContainerRef } from '@angular/core'; import { Store } from '@ngrx/store'; import { AppState } from '@core/core.state'; import { WidgetService } from '@core/http/widget.service'; @@ -13,7 +13,10 @@ import { TranslateService } from '@ngx-translate/core'; import { Ace } from 'ace-builds'; import { CancelAnimationFrame, RafService } from '@core/services/raf.service'; import { MatDialog } from '@angular/material/dialog'; +import { HttpClient } from '@angular/common/http'; import Timeout = NodeJS.Timeout; +import { TbPopoverService } from '@shared/components/popover.service'; +import { MatIconButton } from '@angular/material/button'; import * as i0 from "@angular/core"; export declare class WidgetEditorComponent extends PageComponent implements OnInit, OnDestroy, HasDirtyFlag { protected store: Store; @@ -24,6 +27,10 @@ export declare class WidgetEditorComponent extends PageComponent implements OnIn private translate; private raf; private dialog; + private popoverService; + private renderer; + private viewContainerRef; + private http; topPanelElmRef: ElementRef; topLeftPanelElmRef: ElementRef; topRightPanelElmRef: ElementRef; @@ -68,6 +75,7 @@ export declare class WidgetEditorComponent extends PageComponent implements OnIn dataKeyJsonSettingsEditor: Ace.Editor; latestDataKeyJsonSettingsEditor: Ace.Editor; jsEditor: Ace.Editor; + private initialCompleters; aceResize$: ResizeObserver; onWindowMessageListener: any; iframeWidgetEditModeInited: boolean; @@ -80,7 +88,7 @@ export declare class WidgetEditorComponent extends PageComponent implements OnIn hotKeys: Hotkey[]; updateBreadcrumbs: EventEmitter; private rxSubscriptions; - constructor(store: Store, window: Window, route: ActivatedRoute, router: Router, widgetService: WidgetService, translate: TranslateService, raf: RafService, dialog: MatDialog); + constructor(store: Store, window: Window, route: ActivatedRoute, router: Router, widgetService: WidgetService, translate: TranslateService, raf: RafService, dialog: MatDialog, popoverService: TbPopoverService, renderer: Renderer2, viewContainerRef: ViewContainerRef, http: HttpClient); private init; ngOnInit(): void; ngOnDestroy(): void; @@ -115,7 +123,17 @@ export declare class WidgetEditorComponent extends PageComponent implements OnIn removeResource(index: number): void; addResource(): void; widgetTypeChanged(): void; + editControllerScriptModules($event: Event, button: MatIconButton): void; + get controllerScriptBody(): string; + set controllerScriptBody(controllerScriptBody: string); + get controllerScriptModules(): { + [alias: string]: string; + }; + set controllerScriptModules(modules: { + [alias: string]: string; + }); get confirmOnExitMessage(): string; + private updateControllerScriptCompleters; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } diff --git a/src/app/modules/signup/pages/signup/signup.component.d.ts b/src/app/modules/signup/pages/signup/signup.component.d.ts index 9582f1fe..e4d000ac 100644 --- a/src/app/modules/signup/pages/signup/signup.component.d.ts +++ b/src/app/modules/signup/pages/signup/signup.component.d.ts @@ -1,10 +1,9 @@ -import { OnInit } from '@angular/core'; import { AuthService } from '@core/auth/auth.service'; import { Store } from '@ngrx/store'; import { AppState } from '@core/core.state'; import { PageComponent } from '@shared/components/page.component'; -import { UntypedFormBuilder } from '@angular/forms'; -import { ActivatedRoute, Router } from '@angular/router'; +import { FormBuilder } from '@angular/forms'; +import { Router } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; import { SignupService } from '@core/http/signup.service'; import { DialogService } from '@core/services/dialog.service'; @@ -13,9 +12,8 @@ import { SelfRegistrationService } from '@core/http/self-register.service'; import { WhiteLabelingService } from '@core/http/white-labeling.service'; import { MatDialog } from '@angular/material/dialog'; import * as i0 from "@angular/core"; -export declare class SignupComponent extends PageComponent implements OnInit { +export declare class SignupComponent extends PageComponent { protected store: Store; - private route; private router; private authService; private signupService; @@ -25,16 +23,23 @@ export declare class SignupComponent extends PageComponent implements OnInit { private translate; private reCaptchaV3Service; private dialog; - fb: UntypedFormBuilder; + private fb; recaptchaComponent: ReCaptcha2Component; - signup: import("@angular/forms").UntypedFormGroup; + signup: import("@angular/forms").FormGroup<{ + fields: import("@angular/forms").FormGroup<{ + EMAIL: import("@angular/forms").FormControl; + FIRST_NAME: import("@angular/forms").FormControl; + LAST_NAME: import("@angular/forms").FormControl; + PASSWORD: import("@angular/forms").FormControl; + }>; + recaptchaResponse: import("@angular/forms").FormControl; + }>; passwordCheck: string; acceptPrivacyPolicy: boolean; acceptTermsOfUse: boolean; signupParams: import("../../../../shared/models/self-register.models").SignUpSelfRegistrationParams; class: string; - constructor(store: Store, route: ActivatedRoute, router: Router, authService: AuthService, signupService: SignupService, wl: WhiteLabelingService, selfRegistrationService: SelfRegistrationService, dialogService: DialogService, translate: TranslateService, reCaptchaV3Service: ReCaptchaV3Service, dialog: MatDialog, fb: UntypedFormBuilder); - ngOnInit(): void; + constructor(store: Store, router: Router, authService: AuthService, signupService: SignupService, wl: WhiteLabelingService, selfRegistrationService: SelfRegistrationService, dialogService: DialogService, translate: TranslateService, reCaptchaV3Service: ReCaptchaV3Service, dialog: MatDialog, fb: FormBuilder); signUp(): void; private executeSignup; promptToResendEmailVerification(): void; diff --git a/src/app/modules/signup/pages/signup/tb-recaptcha.component.d.ts b/src/app/modules/signup/pages/signup/tb-recaptcha.component.d.ts index e632e7ed..855d71c7 100644 --- a/src/app/modules/signup/pages/signup/tb-recaptcha.component.d.ts +++ b/src/app/modules/signup/pages/signup/tb-recaptcha.component.d.ts @@ -1,23 +1,22 @@ import { OnDestroy, OnInit } from '@angular/core'; -import { Store } from '@ngrx/store'; -import { AppState } from '@core/core.state'; import { PageComponent } from '@shared/components/page.component'; -import { ActivatedRoute } from '@angular/router'; import { ReCaptcha2Component, ReCaptchaV3Service } from 'ngx-captcha'; import { MobileService } from '@core/services/mobile.service'; import { SelfRegistrationService } from '@app/core/http/self-register.service'; +import { ActivatedRoute } from '@angular/router'; +import { CaptchaParams } from '@shared/models/self-register.models'; import * as i0 from "@angular/core"; export declare class TbRecaptchaComponent extends PageComponent implements OnInit, OnDestroy { - protected store: Store; - private activatedRoute; private selfRegistrationService; private reCaptchaV3Service; private mobileService; + private route; recaptchaComponent: ReCaptcha2Component; - signupParams: import("../../../../shared/models/self-register.models").SignUpSelfRegistrationParams; + captcha: CaptchaParams; recaptchaResponse: string; - isMobileApp: boolean; - constructor(store: Store, activatedRoute: ActivatedRoute, selfRegistrationService: SelfRegistrationService, reCaptchaV3Service: ReCaptchaV3Service, mobileService: MobileService); + activeCaptcha: boolean; + private isMobileApp; + constructor(selfRegistrationService: SelfRegistrationService, reCaptchaV3Service: ReCaptchaV3Service, mobileService: MobileService, route: ActivatedRoute); ngOnInit(): void; ngOnDestroy(): void; onRecaptchaResponse(): void; diff --git a/src/app/shared/components/button/widget-button-toggle.component.d.ts b/src/app/shared/components/button/widget-button-toggle.component.d.ts new file mode 100644 index 00000000..068b277c --- /dev/null +++ b/src/app/shared/components/button/widget-button-toggle.component.d.ts @@ -0,0 +1,49 @@ +import { AfterViewInit, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, Renderer2, SimpleChanges } from '@angular/core'; +import { ComponentStyle } from '@shared/models/widget-settings.models'; +import { UtilsService } from '@core/services/utils.service'; +import { Observable } from 'rxjs'; +import { WidgetContext } from '@home/models/widget-component.models'; +import { MatButtonToggleChange } from '@angular/material/button-toggle'; +import * as i0 from "@angular/core"; +export declare class WidgetButtonToggleComponent implements OnInit, AfterViewInit, OnDestroy, OnChanges { + private renderer; + private elementRef; + private utils; + toggleGroupContainer: ElementRef; + widgetButton: ElementRef; + leftButtonContent: ElementRef; + rightButtonContent: ElementRef; + appearance: import("@home/components/widget/lib/button/segmented-button-widget.models").ButtonToggleAppearance; + borderRadius: string; + autoScale: boolean; + value: boolean; + disabled: boolean; + hovered: boolean; + disableEvents: boolean; + ctx: WidgetContext; + clicked: EventEmitter; + leftLabel$: Observable; + rightLabel$: Observable; + leftIconStyle: ComponentStyle; + rightIconStyle: ComponentStyle; + leftLabelStyle: ComponentStyle; + rightLabelStyle: ComponentStyle; + computedBorderColor: string; + computedBorderWidth: string; + computedBorderRadius: string; + private buttonResize$; + private appearanceCssClass; + constructor(renderer: Renderer2, elementRef: ElementRef, utils: UtilsService); + ngOnInit(): void; + ngOnChanges(changes: SimpleChanges): void; + ngAfterViewInit(): void; + ngOnDestroy(): void; + validateSize(): void; + private updateAppearance; + private updateBorderRadius; + private clearAppearanceCss; + private updateAutoScale; + private onResize; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/shared/components/country-autocomplete.component.d.ts b/src/app/shared/components/country-autocomplete.component.d.ts index dbccc028..47151ff1 100644 --- a/src/app/shared/components/country-autocomplete.component.d.ts +++ b/src/app/shared/components/country-autocomplete.component.d.ts @@ -2,7 +2,7 @@ import { ElementRef, EventEmitter, OnInit } from '@angular/core'; import { Country, CountryData } from '@shared/models/country.models'; import { ControlValueAccessor, FormBuilder, FormGroup, ValidationErrors, Validator } from '@angular/forms'; import { Observable } from 'rxjs'; -import { SubscriptSizing } from '@angular/material/form-field'; +import { SubscriptSizing, MatFormFieldAppearance } from '@angular/material/form-field'; import { TranslateService } from '@ngx-translate/core'; import * as i0 from "@angular/core"; export declare class CountryAutocompleteComponent implements OnInit, ControlValueAccessor, Validator { @@ -14,6 +14,7 @@ export declare class CountryAutocompleteComponent implements OnInit, ControlValu autocompleteHint: string; disabled: boolean; required: boolean; + appearance: MatFormFieldAppearance; subscriptSizing: SubscriptSizing; countryInput: ElementRef; selectCountryCode: EventEmitter; @@ -40,5 +41,5 @@ export declare class CountryAutocompleteComponent implements OnInit, ControlValu private fetchCountries; private updateView; static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵcmp: i0.ɵɵComponentDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; } diff --git a/src/app/shared/components/custom-menu-autocomplete.component.d.ts b/src/app/shared/components/custom-menu-autocomplete.component.d.ts index b4665644..21aba39f 100644 --- a/src/app/shared/components/custom-menu-autocomplete.component.d.ts +++ b/src/app/shared/components/custom-menu-autocomplete.component.d.ts @@ -50,5 +50,5 @@ export declare class CustomMenuAutocompleteComponent implements ControlValueAcce private fetchCustomMenus; private getCustomMenus; static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵcmp: i0.ɵɵComponentDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; } diff --git a/src/app/shared/components/dialog/entity-conflict-dialog/entity-conflict-dialog.component.d.ts b/src/app/shared/components/dialog/entity-conflict-dialog/entity-conflict-dialog.component.d.ts index 3de3702b..be806b6e 100644 --- a/src/app/shared/components/dialog/entity-conflict-dialog/entity-conflict-dialog.component.d.ts +++ b/src/app/shared/components/dialog/entity-conflict-dialog/entity-conflict-dialog.component.d.ts @@ -1,12 +1,11 @@ import { MatDialogRef } from '@angular/material/dialog'; import { ImportExportService } from '@shared/import-export/import-export.service'; -import { EntityInfoData } from '@shared/models/entity.models'; +import { VersionedEntity } from '@shared/models/entity.models'; import { EntityId } from '@shared/models/id/entity-id'; -import { RuleChainMetaData } from '@shared/models/rule-chain.models'; import * as i0 from "@angular/core"; interface EntityConflictDialogData { message: string; - entity: EntityInfoData | RuleChainMetaData; + entity: VersionedEntity; } export declare class EntityConflictDialogComponent { data: EntityConflictDialogData; diff --git a/src/app/shared/components/entity/entity-autocomplete.component.d.ts b/src/app/shared/components/entity/entity-autocomplete.component.d.ts index 7b86b623..87bc419e 100644 --- a/src/app/shared/components/entity/entity-autocomplete.component.d.ts +++ b/src/app/shared/components/entity/entity-autocomplete.component.d.ts @@ -1,5 +1,5 @@ import { AfterViewInit, ElementRef, EventEmitter, OnInit } from '@angular/core'; -import { MatFormFieldAppearance } from '@angular/material/form-field'; +import { MatFormFieldAppearance, SubscriptSizing } from '@angular/material/form-field'; import { ControlValueAccessor, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; import { Observable } from 'rxjs'; import { Store } from '@ngrx/store'; @@ -38,7 +38,11 @@ export declare class EntityAutocompleteComponent implements ControlValueAccessor appearance: MatFormFieldAppearance; required: boolean; disabled: boolean; + allowCreateNew: boolean; + subscriptSizing: SubscriptSizing; + additionalClasses: Array; entityChanged: EventEmitter>; + createNew: EventEmitter; entityInput: ElementRef; get requiredErrorText(): string; get label(): string; @@ -59,6 +63,7 @@ export declare class EntityAutocompleteComponent implements ControlValueAccessor textIsNotEmpty(text: string): boolean; clear(): void; checkEntityType(entityType: EntityType | AliasEntityType): EntityType; + createNewEntity($event: Event): void; static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵcmp: i0.ɵɵComponentDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; } diff --git a/src/app/shared/components/entity/entity-type-select.component.d.ts b/src/app/shared/components/entity/entity-type-select.component.d.ts index 4af2a8ef..450eb889 100644 --- a/src/app/shared/components/entity/entity-type-select.component.d.ts +++ b/src/app/shared/components/entity/entity-type-select.component.d.ts @@ -6,6 +6,7 @@ import { TranslateService } from '@ngx-translate/core'; import { AliasEntityType, EntityType } from '@app/shared/models/entity-type.models'; import { EntityService } from '@core/http/entity.service'; import { Operation } from '@shared/models/security.models'; +import { MatFormFieldAppearance } from '@angular/material/form-field'; import * as i0 from "@angular/core"; export declare class EntityTypeSelectComponent implements ControlValueAccessor, OnInit, AfterViewInit, OnChanges { private store; @@ -25,6 +26,7 @@ export declare class EntityTypeSelectComponent implements ControlValueAccessor, additionEntityTypes: { [key in string]: string; }; + appearance: MatFormFieldAppearance; entityTypes: Array; private propagateChange; constructor(store: Store, entityService: EntityService, translate: TranslateService, fb: UntypedFormBuilder); @@ -38,5 +40,5 @@ export declare class EntityTypeSelectComponent implements ControlValueAccessor, updateView(value: EntityType | AliasEntityType | null): void; displayEntityTypeFn(entityType?: EntityType | AliasEntityType | null): string | undefined; static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵcmp: i0.ɵɵComponentDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; } diff --git a/src/app/shared/components/file-input.component.d.ts b/src/app/shared/components/file-input.component.d.ts index c179fda0..dcab8852 100644 --- a/src/app/shared/components/file-input.component.d.ts +++ b/src/app/shared/components/file-input.component.d.ts @@ -31,6 +31,9 @@ export declare class FileInputComponent extends PageComponent implements AfterVi existingFileName: string; readAsBinary: boolean; workFromFileObj: boolean; + asButton: boolean; + uploadButtonClass: string; + uploadButtonText: string; private multipleFileValue; set multipleFile(value: boolean); get multipleFile(): boolean; @@ -57,5 +60,5 @@ export declare class FileInputComponent extends PageComponent implements AfterVi clearFile(): void; private updateMultipleFileMode; static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵcmp: i0.ɵɵComponentDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; } diff --git a/src/app/shared/components/group/entity-group-autocomplete.component.d.ts b/src/app/shared/components/group/entity-group-autocomplete.component.d.ts index cc1e8c97..026f0de7 100644 --- a/src/app/shared/components/group/entity-group-autocomplete.component.d.ts +++ b/src/app/shared/components/group/entity-group-autocomplete.component.d.ts @@ -8,13 +8,14 @@ import { EntityGroupService } from '@core/http/entity-group.service'; import { PageLink } from '@shared/models/page/page-link'; import { PageData } from '@shared/models/page/page-data'; import { EntityInfoData } from '@shared/models/entity.models'; +import { MatFormFieldAppearance } from '@angular/material/form-field'; import * as i0 from "@angular/core"; export declare class EntityGroupAutocompleteComponent implements ControlValueAccessor, OnInit, OnDestroy { translate: TranslateService; private entityGroupService; private fb; selectEntityGroupFormGroup: FormGroup; - modelValue: string | null; + modelValue: EntityId | string | null; private groupTypeValue; get groupType(): EntityType; set groupType(value: EntityType); @@ -30,6 +31,8 @@ export declare class EntityGroupAutocompleteComponent implements ControlValueAcc get required(): boolean; set required(value: boolean); disabled: boolean; + appearance: MatFormFieldAppearance; + useFullEntityId: boolean; entityGroupLoaded: EventEmitter; entityGroupInput: ElementRef; filteredEntityGroups: Observable>; @@ -48,11 +51,11 @@ export declare class EntityGroupAutocompleteComponent implements ControlValueAcc writeValue(value: string | EntityInfoData | null): void; onFocus(): void; reset(keepEntityGroup?: boolean): void; - updateView(value: string | null, entityGroup: EntityInfoData | string | null): void; + updateView(value: EntityId | string | null, entityGroup: EntityInfoData | string | null): void; displayEntityGroupFn(entityGroup?: EntityInfoData): string | undefined; fetchEntityGroups(searchText?: string): Observable>; getEntityGroups(pageLink: PageLink): Observable>; clear(): void; static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵcmp: i0.ɵɵComponentDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; } diff --git a/src/app/shared/components/group/entity-group-select.component.d.ts b/src/app/shared/components/group/entity-group-select.component.d.ts index 46a4bf2b..3a17cd4f 100644 --- a/src/app/shared/components/group/entity-group-select.component.d.ts +++ b/src/app/shared/components/group/entity-group-select.component.d.ts @@ -9,6 +9,7 @@ import { EntityId } from '@shared/models/id/entity-id'; import { EntityGroupInfo } from '@shared/models/entity-group.models'; import { EntityInfoData } from '@shared/models/entity.models'; import { EntityGroupService } from '@core/http/entity-group.service'; +import { MatFormFieldAppearance } from '@angular/material/form-field'; import * as i0 from "@angular/core"; export declare class EntityGroupSelectComponent implements ControlValueAccessor, OnInit, AfterViewInit { private store; @@ -28,6 +29,7 @@ export declare class EntityGroupSelectComponent implements ControlValueAccessor, requiredText: string; ownerId: EntityId; originator: string; + appearance: MatFormFieldAppearance; private requiredValue; get required(): boolean; set required(value: boolean); @@ -48,5 +50,5 @@ export declare class EntityGroupSelectComponent implements ControlValueAccessor, getCurrentGroupType(): EntityType; updateView(groupId: string | null): void; static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵcmp: i0.ɵɵComponentDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; } diff --git a/src/app/shared/components/help-markdown.component.d.ts b/src/app/shared/components/help-markdown.component.d.ts index 9b028155..a3ab7cbe 100644 --- a/src/app/shared/components/help-markdown.component.d.ts +++ b/src/app/shared/components/help-markdown.component.d.ts @@ -1,18 +1,20 @@ import { EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core'; -import { BehaviorSubject } from 'rxjs'; +import { BehaviorSubject, Observable } from 'rxjs'; import { HelpService } from '@core/services/help.service'; import * as i0 from "@angular/core"; export declare class HelpMarkdownComponent implements OnDestroy, OnInit, OnChanges { private help; helpId: string; helpContent: string; + helpContentBase64: string; + asyncHelpContent: Observable; visible: boolean; style: { [klass: string]: any; }; markdownReady: EventEmitter; markdownText: BehaviorSubject; - markdownText$: import("rxjs").Observable; + markdownText$: Observable; private loadHelpPending; constructor(help: HelpService); ngOnInit(): void; @@ -23,5 +25,5 @@ export declare class HelpMarkdownComponent implements OnDestroy, OnInit, OnChang onMarkdownReady(): void; markdownClick($event: MouseEvent): void; static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵcmp: i0.ɵɵComponentDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; } diff --git a/src/app/shared/components/help-popup.component.d.ts b/src/app/shared/components/help-popup.component.d.ts index 2cc3a53e..0dec61ad 100644 --- a/src/app/shared/components/help-popup.component.d.ts +++ b/src/app/shared/components/help-popup.component.d.ts @@ -3,18 +3,26 @@ import { TbPopoverService } from '@shared/components/popover.service'; import { PopoverPlacement } from '@shared/components/popover.models'; import { DomSanitizer, SafeHtml } from '@angular/platform-browser'; import { WhiteLabelingService } from '@core/http/white-labeling.service'; +import { Observable } from 'rxjs'; +import { TranslateService } from '@ngx-translate/core'; import * as i0 from "@angular/core"; export declare class HelpPopupComponent implements OnChanges, OnDestroy { private viewContainerRef; - private element; private sanitizer; private renderer; private popoverService; + private translate; wl: WhiteLabelingService; toggleHelpButton: ElementRef; toggleHelpTextButton: ElementRef; helpId: string; helpContent: string; + helpContentBase64: string; + asyncHelpContent: () => Observable | null; + helpIcon: string; + helpOpenedIcon: string; + helpIconTooltip: any; + helpIconButtonClass: string; triggerText: string; triggerStyle: string; helpPopupPlacement: PopoverPlacement; @@ -26,10 +34,11 @@ export declare class HelpPopupComponent implements OnChanges, OnDestroy { hintMode: boolean; triggerSafeHtml: SafeHtml; textMode: boolean; - constructor(viewContainerRef: ViewContainerRef, element: ElementRef, sanitizer: DomSanitizer, renderer: Renderer2, popoverService: TbPopoverService, wl: WhiteLabelingService); + constructor(viewContainerRef: ViewContainerRef, sanitizer: DomSanitizer, renderer: Renderer2, popoverService: TbPopoverService, translate: TranslateService, wl: WhiteLabelingService); ngOnChanges(changes: SimpleChanges): void; + disabled(): boolean; toggleHelp(): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵcmp: i0.ɵɵComponentDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; } diff --git a/src/app/shared/components/js-func-module-row.component.d.ts b/src/app/shared/components/js-func-module-row.component.d.ts new file mode 100644 index 00000000..b7ddb74b --- /dev/null +++ b/src/app/shared/components/js-func-module-row.component.d.ts @@ -0,0 +1,47 @@ +import { ChangeDetectorRef, EventEmitter, OnInit } from '@angular/core'; +import { ControlValueAccessor, UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validator } from '@angular/forms'; +import { JsFuncModulesComponent } from '@shared/components/js-func-modules.component'; +import { ResourceSubType } from '@shared/models/resource.models'; +import { ResourceAutocompleteComponent } from '@shared/components/resource/resource-autocomplete.component'; +import { HttpClient } from '@angular/common/http'; +import { TranslateService } from '@ngx-translate/core'; +import * as i0 from "@angular/core"; +export interface JsFuncModuleRow { + alias: string; + moduleLink: string; +} +export declare const moduleValid: (module: JsFuncModuleRow) => boolean; +export declare class JsFuncModuleRowComponent implements ControlValueAccessor, OnInit, Validator { + private fb; + private cd; + private modulesComponent; + private http; + private translate; + ResourceSubType: typeof ResourceSubType; + resourceAutocomplete: ResourceAutocompleteComponent; + index: number; + moduleRemoved: EventEmitter; + moduleRowFormGroup: UntypedFormGroup; + modelValue: JsFuncModuleRow; + moduleDescription: any; + moduleSourceCode: any; + private propagateChange; + constructor(fb: UntypedFormBuilder, cd: ChangeDetectorRef, modulesComponent: JsFuncModulesComponent, http: HttpClient, translate: TranslateService); + ngOnInit(): void; + registerOnChange(fn: any): void; + registerOnTouched(_fn: any): void; + writeValue(value: JsFuncModuleRow): void; + validate(_c: UntypedFormControl): { + moduleAliasNotUnique: boolean; + module?: undefined; + } | { + module: boolean; + moduleAliasNotUnique?: undefined; + }; + private loadModuleDescription; + private loadModuleSourceCode; + private moduleAliasValidator; + private updateModel; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/shared/components/js-func-modules.component.d.ts b/src/app/shared/components/js-func-modules.component.d.ts new file mode 100644 index 00000000..fd5f365f --- /dev/null +++ b/src/app/shared/components/js-func-modules.component.d.ts @@ -0,0 +1,27 @@ +import { ChangeDetectorRef, EventEmitter, OnInit } from '@angular/core'; +import { TbPopoverComponent } from '@shared/components/popover.component'; +import { AbstractControl, UntypedFormArray, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; +import * as i0 from "@angular/core"; +export declare class JsFuncModulesComponent implements OnInit { + private fb; + private cd; + modules: { + [alias: string]: string; + }; + popover: TbPopoverComponent; + modulesApplied: EventEmitter<{ + [alias: string]: string; + }>; + modulesFormGroup: UntypedFormGroup; + constructor(fb: UntypedFormBuilder, cd: ChangeDetectorRef); + ngOnInit(): void; + cancel(): void; + applyModules(): void; + moduleAliasUnique(alias: string, index: number): boolean; + modulesFormArray(): UntypedFormArray; + trackByModule(_index: number, moduleControl: AbstractControl): any; + removeModule(index: number, emitEvent?: boolean): void; + addModule(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/shared/components/js-func.component.d.ts b/src/app/shared/components/js-func.component.d.ts index 3ebbf264..0813c95d 100644 --- a/src/app/shared/components/js-func.component.d.ts +++ b/src/app/shared/components/js-func.component.d.ts @@ -1,4 +1,4 @@ -import { ChangeDetectorRef, ElementRef, OnDestroy, OnInit } from '@angular/core'; +import { ChangeDetectorRef, ElementRef, OnDestroy, OnInit, Renderer2, ViewContainerRef } from '@angular/core'; import { ControlValueAccessor, UntypedFormControl, Validator } from '@angular/forms'; import { AceHighlightRules } from '@shared/models/ace/ace.models'; import { Store } from '@ngrx/store'; @@ -8,6 +8,10 @@ import { TranslateService } from '@ngx-translate/core'; import { RafService } from '@core/services/raf.service'; import { TbEditorCompleter } from '@shared/models/ace/completion.models'; import { ScriptLanguage } from '@shared/models/rule-node.models'; +import { TbFunction } from '@shared/models/js-function.models'; +import { TbPopoverService } from '@shared/components/popover.service'; +import { HttpClient } from '@angular/common/http'; +import { Observable } from 'rxjs'; import * as i0 from "@angular/core"; export declare class JsFuncComponent implements OnInit, OnDestroy, ControlValueAccessor, Validator { elementRef: ElementRef; @@ -16,8 +20,13 @@ export declare class JsFuncComponent implements OnInit, OnDestroy, ControlValueA protected store: Store; private raf; private cd; + private popoverService; + private renderer; + private viewContainerRef; + private http; javascriptEditorElmRef: ElementRef; private jsEditor; + private initialCompleters; private editorsResizeCaf; private editorResize$; private ignoreChange; @@ -37,6 +46,8 @@ export declare class JsFuncComponent implements OnInit, OnDestroy, ControlValueA helpId: string; scriptLanguage: ScriptLanguage; hideBrackets: boolean; + hideLabel: boolean; + withModules: boolean; private noValidateValue; get noValidate(): boolean; set noValidate(value: boolean); @@ -46,6 +57,9 @@ export declare class JsFuncComponent implements OnInit, OnDestroy, ControlValueA functionLabel: string; fullscreen: boolean; modelValue: string; + modules: { + [alias: string]: string; + }; functionValid: boolean; validationError: string; errorShowed: boolean; @@ -53,8 +67,9 @@ export declare class JsFuncComponent implements OnInit, OnDestroy, ControlValueA errorAnnotationId: number; private functionArgsString; private propagateChange; + private _onTouched; hasErrors: boolean; - constructor(elementRef: ElementRef, utils: UtilsService, translate: TranslateService, store: Store, raf: RafService, cd: ChangeDetectorRef); + constructor(elementRef: ElementRef, utils: UtilsService, translate: TranslateService, store: Store, raf: RafService, cd: ChangeDetectorRef, popoverService: TbPopoverService, renderer: Renderer2, viewContainerRef: ViewContainerRef, http: HttpClient); ngOnInit(): void; ngOnDestroy(): void; private onAceEditorResize; @@ -67,12 +82,16 @@ export declare class JsFuncComponent implements OnInit, OnDestroy, ControlValueA }; }; beautifyJs(): void; - validateOnSubmit(): void; + validateOnSubmit(): Observable; focus(): void; private validateJsFunc; private cleanupJsErrors; - writeValue(value: string): void; - updateView(): void; + writeValue(value: TbFunction): void; + updateView(force?: boolean): void; + editModules($event: Event, element: Element): void; + private propagateValue; + private updateJsWorkerGlobals; + updateCompleters(): void; static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵcmp: i0.ɵɵComponentDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; } diff --git a/src/app/shared/components/json-form/react/json-form-schema-form.d.ts b/src/app/shared/components/json-form/react/json-form-schema-form.d.ts index 40b7e0b4..ec9091b1 100644 --- a/src/app/shared/components/json-form/react/json-form-schema-form.d.ts +++ b/src/app/shared/components/json-form/react/json-form-schema-form.d.ts @@ -4,6 +4,7 @@ import tinycolor from 'tinycolor2'; import { MouseEvent } from 'react'; declare class ThingsboardSchemaForm extends React.Component { private hasConditions; + private conditionFunction; private readonly mapper; constructor(props: JsonFormProps); onChange(key: (string | number)[], val: any, forceUpdate?: boolean): void; diff --git a/src/app/shared/components/kv-map.component.d.ts b/src/app/shared/components/kv-map.component.d.ts index 8ed344b3..42787ce2 100644 --- a/src/app/shared/components/kv-map.component.d.ts +++ b/src/app/shared/components/kv-map.component.d.ts @@ -1,5 +1,5 @@ import { OnDestroy, OnInit } from '@angular/core'; -import { ControlValueAccessor, UntypedFormArray, UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validator } from '@angular/forms'; +import { ControlValueAccessor, UntypedFormArray, UntypedFormBuilder, UntypedFormGroup, Validator, ValidationErrors } from '@angular/forms'; import { PageComponent } from '@shared/components/page.component'; import { Store } from '@ngrx/store'; import { AppState } from '@core/core.state'; @@ -9,6 +9,7 @@ export declare class KeyValMapComponent extends PageComponent implements Control protected store: Store; private fb; disabled: boolean; + isValueRequired: boolean; titleText: string; keyPlaceholderText: string; valuePlaceholderText: string; @@ -31,14 +32,10 @@ export declare class KeyValMapComponent extends PageComponent implements Control }): void; removeKeyVal(index: number): void; addKeyVal(): void; - validate(c: UntypedFormControl): { - keyVals: { - valid: boolean; - }; - }; + validate(): ValidationErrors | null; get isSingleMode(): boolean; get isSinglePredefinedKey(): boolean; private updateModel; static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵcmp: i0.ɵɵComponentDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; } diff --git a/src/app/shared/components/page.component.d.ts b/src/app/shared/components/page.component.d.ts index 01fd2d98..72599ce5 100644 --- a/src/app/shared/components/page.component.d.ts +++ b/src/app/shared/components/page.component.d.ts @@ -13,7 +13,7 @@ export declare abstract class PageComponent implements OnDestroy { showMainLoadingBar: boolean; resource: typeof Resource; operation: typeof Operation; - protected constructor(store: Store); + protected constructor(...args: unknown[]); protected registerDisableOnLoadFormControl(control: AbstractControl): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; diff --git a/src/app/shared/components/popover.service.d.ts b/src/app/shared/components/popover.service.d.ts index c023d76e..cbeec1b9 100644 --- a/src/app/shared/components/popover.service.d.ts +++ b/src/app/shared/components/popover.service.d.ts @@ -2,6 +2,7 @@ import { ComponentRef, Injector, Renderer2, Type, ViewContainerRef } from '@angu import { PopoverPreferredPlacement } from '@shared/components/popover.models'; import { TbPopoverComponent } from '@shared/components/popover.component'; import { ComponentType } from '@angular/cdk/portal'; +import { Observable } from 'rxjs'; import * as i0 from "@angular/core"; export declare class TbPopoverService { private helpMarkdownComponent; @@ -12,7 +13,7 @@ export declare class TbPopoverService { createPopoverRef(hostView: ViewContainerRef): ComponentRef; displayPopover(trigger: Element, renderer: Renderer2, hostView: ViewContainerRef, componentType: Type, preferredPlacement?: PopoverPreferredPlacement, hideOnClickOutside?: boolean, injector?: Injector, context?: any, overlayStyle?: any, popoverStyle?: any, style?: any, showCloseButton?: boolean, visibleFn?: (visible: boolean) => void, popoverContentStyle?: any): TbPopoverComponent; displayPopoverWithComponentRef(componentRef: ComponentRef, trigger: Element, renderer: Renderer2, componentType: Type, preferredPlacement?: PopoverPreferredPlacement, hideOnClickOutside?: boolean, injector?: Injector, context?: any, overlayStyle?: any, popoverStyle?: any, style?: any, showCloseButton?: boolean, visibleFn?: (visible: boolean) => void, popoverContentStyle?: any): TbPopoverComponent; - toggleHelpPopover(trigger: Element, renderer: Renderer2, hostView: ViewContainerRef, helpId?: string, helpContent?: string, visibleFn?: (visible: boolean) => void, readyFn?: (ready: boolean) => void, preferredPlacement?: PopoverPreferredPlacement, overlayStyle?: any, helpStyle?: any): void; + toggleHelpPopover(trigger: Element, renderer: Renderer2, hostView: ViewContainerRef, helpId?: string, helpContent?: string, helpContentBase64?: string, asyncHelpContent?: Observable, visibleFn?: (visible: boolean) => void, readyFn?: (ready: boolean) => void, preferredPlacement?: PopoverPreferredPlacement, overlayStyle?: any, helpStyle?: any): void; private findPopoverByTrigger; private removePopoverByComponent; private elementsAreEqualOrDescendant; diff --git a/src/app/shared/components/resource/resource-autocomplete.component.d.ts b/src/app/shared/components/resource/resource-autocomplete.component.d.ts index 494cbdca..bec5ccba 100644 --- a/src/app/shared/components/resource/resource-autocomplete.component.d.ts +++ b/src/app/shared/components/resource/resource-autocomplete.component.d.ts @@ -1,7 +1,7 @@ import { ElementRef, OnInit } from '@angular/core'; import { ControlValueAccessor, FormBuilder } from '@angular/forms'; import { Observable } from 'rxjs'; -import { ResourceInfo } from '@shared/models/resource.models'; +import { ResourceInfo, ResourceSubType } from '@shared/models/resource.models'; import { TbResourceId } from '@shared/models/id/tb-resource-id'; import { ResourceService } from '@core/http/resource.service'; import { MatFormFieldAppearance, SubscriptSizing } from '@angular/material/form-field'; @@ -13,22 +13,25 @@ export declare class ResourceAutocompleteComponent implements ControlValueAccess required: boolean; appearance: MatFormFieldAppearance; subscriptSizing: SubscriptSizing; + inlineField: boolean; placeholder: string; hideRequiredMarker: boolean; allowAutocomplete: boolean; + subType: ResourceSubType; resourceFormGroup: import("@angular/forms").FormGroup<{ - resource: import("@angular/forms").FormControl; + resource: import("@angular/forms").FormControl; }>; filteredResources$: Observable>; searchText: string; resourceInput: ElementRef; + resource: ResourceInfo; private modelValue; private dirty; private propagateChange; constructor(fb: FormBuilder, resourceService: ResourceService); ngOnInit(): void; registerOnChange(fn: any): void; - registerOnTouched(fn: any): void; + registerOnTouched(_fn: any): void; setDisabledState(isDisabled: boolean): void; writeValue(value: string | TbResourceId): void; displayResourceFn(resource?: ResourceInfo | string): string; @@ -37,5 +40,5 @@ export declare class ResourceAutocompleteComponent implements ControlValueAccess private updateView; private fetchResources; static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵcmp: i0.ɵɵComponentDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; } diff --git a/src/app/shared/components/time/aggregation/aggregation-options-config-panel.component.d.ts b/src/app/shared/components/time/aggregation/aggregation-options-config-panel.component.d.ts new file mode 100644 index 00000000..6546d53d --- /dev/null +++ b/src/app/shared/components/time/aggregation/aggregation-options-config-panel.component.d.ts @@ -0,0 +1,21 @@ +import { OnInit } from '@angular/core'; +import { AggregationType } from '@shared/models/time/time.models'; +import { FormBuilder, FormGroup } from '@angular/forms'; +import { TbPopoverComponent } from '@shared/components/popover.component'; +import * as i0 from "@angular/core"; +export declare class AggregationOptionsConfigPanelComponent implements OnInit { + private fb; + allowedAggregationTypes: Array; + onClose: (result: Array | null) => void; + popoverComponent: TbPopoverComponent; + aggregationOptionsConfigForm: FormGroup; + aggregationTypes: typeof AggregationType; + allAggregationTypes: Array; + aggregationTypesTranslations: Map; + constructor(fb: FormBuilder); + ngOnInit(): void; + update(): void; + cancel(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/shared/components/time/aggregation/aggregation-type-select.component.d.ts b/src/app/shared/components/time/aggregation/aggregation-type-select.component.d.ts new file mode 100644 index 00000000..ca209741 --- /dev/null +++ b/src/app/shared/components/time/aggregation/aggregation-type-select.component.d.ts @@ -0,0 +1,35 @@ +import { OnChanges, OnInit, SimpleChanges } from '@angular/core'; +import { ControlValueAccessor, FormBuilder, FormGroup } from '@angular/forms'; +import { TranslateService } from '@ngx-translate/core'; +import { MatFormFieldAppearance, SubscriptSizing } from '@angular/material/form-field'; +import { AggregationType } from '@shared/models/time/time.models'; +import * as i0 from "@angular/core"; +export declare class AggregationTypeSelectComponent implements ControlValueAccessor, OnInit, OnChanges { + private translate; + private fb; + aggregationTypeFormGroup: FormGroup; + modelValue: AggregationType | null; + allowedAggregationTypes: Array; + required: boolean; + disabled: boolean; + displayLabel: boolean; + labelText: string; + get label(): string; + subscriptSizing: SubscriptSizing; + appearance: MatFormFieldAppearance; + aggregationTypes: Array; + private defaultLabel; + private allAggregationTypes; + private propagateChange; + constructor(translate: TranslateService, fb: FormBuilder); + registerOnChange(fn: any): void; + registerOnTouched(fn: any): void; + ngOnInit(): void; + ngOnChanges({ allowedAggregationTypes }: SimpleChanges): void; + setDisabledState(isDisabled: boolean): void; + writeValue(value: AggregationType | null): void; + updateView(value: AggregationType | null): void; + displayAggregationTypeFn(aggregationType?: AggregationType | null): string | undefined; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/shared/components/time/aggregation/grouping-interval-options.component.d.ts b/src/app/shared/components/time/aggregation/grouping-interval-options.component.d.ts new file mode 100644 index 00000000..c64bd13c --- /dev/null +++ b/src/app/shared/components/time/aggregation/grouping-interval-options.component.d.ts @@ -0,0 +1,36 @@ +import { OnInit } from '@angular/core'; +import { ControlValueAccessor, FormBuilder, FormGroup } from '@angular/forms'; +import { TimeService } from '@core/services/time.service'; +import { MatFormFieldAppearance, SubscriptSizing } from '@angular/material/form-field'; +import { Interval, TimeInterval, TimewindowAggIntervalOptions } from '@shared/models/time/time.models'; +import * as i0 from "@angular/core"; +export declare class GroupingIntervalOptionsComponent implements OnInit, ControlValueAccessor { + private timeService; + private fb; + min: number; + max: number; + useCalendarIntervals: boolean; + disabled: boolean; + subscriptSizing: SubscriptSizing; + appearance: MatFormFieldAppearance; + allIntervals: Array; + allIntervalValues: Array; + selectedIntervals: Array; + timeintervalFormGroup: FormGroup; + private modelValue; + private rendered; + private propagateChangeValue; + private propagateChange; + constructor(timeService: TimeService, fb: FormBuilder); + ngOnInit(): void; + registerOnChange(fn: any): void; + registerOnTouched(fn: any): void; + setDisabledState(isDisabled: boolean): void; + writeValue(intervalOptions: TimewindowAggIntervalOptions): void; + private updateIntervalsList; + private setIntervals; + private setSelectedIntervals; + private updateView; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/shared/components/time/interval-options-config-panel.component.d.ts b/src/app/shared/components/time/interval-options-config-panel.component.d.ts new file mode 100644 index 00000000..9eb6b73c --- /dev/null +++ b/src/app/shared/components/time/interval-options-config-panel.component.d.ts @@ -0,0 +1,44 @@ +import { OnInit } from '@angular/core'; +import { HistoryWindowType, RealtimeWindowType, TimewindowAggIntervalsConfig, TimewindowInterval, TimewindowIntervalOption, TimewindowType } from '@shared/models/time/time.models'; +import { FormBuilder, FormGroup, UntypedFormArray } from '@angular/forms'; +import { TbPopoverComponent } from '@shared/components/popover.component'; +import { TimeService } from '@core/services/time.service'; +import { TranslateService } from '@ngx-translate/core'; +import * as i0 from "@angular/core"; +export interface IntervalOptionsConfigPanelData { + allowedIntervals: Array; + aggIntervalsConfig: TimewindowAggIntervalsConfig; +} +export declare class IntervalOptionsConfigPanelComponent implements OnInit { + private fb; + private timeService; + private translate; + aggregation: boolean; + allowedIntervals: Array; + aggIntervalsConfig: TimewindowAggIntervalsConfig; + intervalType: RealtimeWindowType | HistoryWindowType; + timewindowType: TimewindowType; + onClose: (result: IntervalOptionsConfigPanelData | null) => void; + popoverComponent: TbPopoverComponent; + intervalOptionsConfigForm: FormGroup; + allIntervals: Array; + allIntervalValues: Array; + private timeIntervalTranslationMap; + private destroyRef; + constructor(fb: FormBuilder, timeService: TimeService, translate: TranslateService); + ngOnInit(): void; + get intervalsFormArray(): UntypedFormArray; + minAggInterval(interval: TimewindowInterval): number; + maxAggInterval(interval: TimewindowInterval): number; + private getIntervalMs; + trackByElement(i: number, item: any): any; + update(): void; + cancel(): void; + reset(): void; + private getQuickIntervals; + getIndeterminate(): boolean; + enableDisableIntervals(allEnabled: boolean): void; + getChecked(): boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/shared/components/time/quick-time-interval.component.d.ts b/src/app/shared/components/time/quick-time-interval.component.d.ts index 717e6fbf..c22e2acd 100644 --- a/src/app/shared/components/time/quick-time-interval.component.d.ts +++ b/src/app/shared/components/time/quick-time-interval.component.d.ts @@ -1,9 +1,10 @@ -import { OnInit } from '@angular/core'; -import { ControlValueAccessor } from '@angular/forms'; +import { OnChanges, OnInit, SimpleChanges } from '@angular/core'; +import { ControlValueAccessor, FormBuilder, FormGroup } from '@angular/forms'; import { QuickTimeInterval } from '@shared/models/time/time.models'; import { MatFormFieldAppearance, SubscriptSizing } from '@angular/material/form-field'; import * as i0 from "@angular/core"; -export declare class QuickTimeIntervalComponent implements OnInit, ControlValueAccessor { +export declare class QuickTimeIntervalComponent implements OnInit, ControlValueAccessor, OnChanges { + private fb; private allIntervals; modelValue: QuickTimeInterval; timeIntervalTranslationMap: Map; @@ -11,17 +12,22 @@ export declare class QuickTimeIntervalComponent implements OnInit, ControlValueA displayLabel: boolean; disabled: boolean; onlyCurrentInterval: boolean; + allowedIntervals: Array; subscriptSizing: SubscriptSizing; appearance: MatFormFieldAppearance; + intervals: Array; + private allAvailableIntervals; + quickIntervalFormGroup: FormGroup; private propagateChange; - constructor(); - get intervals(): QuickTimeInterval[]; + constructor(fb: FormBuilder); ngOnInit(): void; + ngOnChanges({ allowedIntervals }: SimpleChanges): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; setDisabledState(isDisabled: boolean): void; - writeValue(interval: QuickTimeInterval): void; - onIntervalChange(): void; + writeValue(value: QuickTimeInterval): void; + updateView(value: QuickTimeInterval | null): void; + private getAllAvailableIntervals; static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵcmp: i0.ɵɵComponentDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; } diff --git a/src/app/shared/components/time/timeinterval.component.d.ts b/src/app/shared/components/time/timeinterval.component.d.ts index 2d53178f..62ea11c1 100644 --- a/src/app/shared/components/time/timeinterval.component.d.ts +++ b/src/app/shared/components/time/timeinterval.component.d.ts @@ -1,20 +1,19 @@ -import { OnDestroy, OnInit } from '@angular/core'; +import { OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core'; import { ControlValueAccessor, FormBuilder, FormGroup } from '@angular/forms'; import { TimeService } from '@core/services/time.service'; import { MatFormFieldAppearance, SubscriptSizing } from '@angular/material/form-field'; import { Interval, TimeInterval } from '@shared/models/time/time.models'; import * as i0 from "@angular/core"; -export declare class TimeintervalComponent implements OnInit, ControlValueAccessor, OnDestroy { +export declare class TimeintervalComponent implements OnInit, ControlValueAccessor, OnChanges, OnDestroy { private timeService; private fb; minValue: number; maxValue: number; - disabledAdvancedState: boolean; set min(min: number); set max(max: number); predefinedName: string; - isEdit: boolean; - set disabledAdvanced(disabledAdvanced: boolean); + disabledAdvanced: boolean; + allowedIntervals: Array; useCalendarIntervals: boolean; disabled: boolean; subscriptSizing: SubscriptSizing; @@ -30,6 +29,7 @@ export declare class TimeintervalComponent implements OnInit, ControlValueAccess private destroy$; constructor(timeService: TimeService, fb: FormBuilder); ngOnInit(): void; + ngOnChanges({ disabledAdvanced, allowedIntervals }: SimpleChanges): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; setDisabledState(isDisabled: boolean): void; @@ -47,5 +47,6 @@ export declare class TimeintervalComponent implements OnInit, ControlValueAccess private onDaysChange; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵcmp: i0.ɵɵComponentDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; + static ngAcceptInputType_disabledAdvanced: unknown; } diff --git a/src/app/shared/components/time/timewindow-config-dialog.component.d.ts b/src/app/shared/components/time/timewindow-config-dialog.component.d.ts index e61790a0..5efaf5e4 100644 --- a/src/app/shared/components/time/timewindow-config-dialog.component.d.ts +++ b/src/app/shared/components/time/timewindow-config-dialog.component.d.ts @@ -1,5 +1,5 @@ -import { OnDestroy, OnInit } from '@angular/core'; -import { AggregationType, HistoryWindowType, RealtimeWindowType, Timewindow, TimewindowType } from '@shared/models/time/time.models'; +import { ChangeDetectorRef, OnDestroy, OnInit, Renderer2, ViewContainerRef } from '@angular/core'; +import { AggregationType, HistoryWindowType, Interval, RealtimeWindowType, Timewindow, TimewindowType } from '@shared/models/time/time.models'; import { PageComponent } from '@shared/components/page.component'; import { Store } from '@ngrx/store'; import { AppState } from '@core/core.state'; @@ -8,6 +8,7 @@ import { TimeService } from '@core/services/time.service'; import { ToggleHeaderOption } from '@shared/components/toggle-header.component'; import { TranslateService } from '@ngx-translate/core'; import { MatDialogRef } from '@angular/material/dialog'; +import { TbPopoverService } from '@shared/components/popover.service'; import * as i0 from "@angular/core"; export interface TimewindowConfigDialogData { quickIntervalOnly: boolean; @@ -21,6 +22,10 @@ export declare class TimewindowConfigDialogComponent extends PageComponent imple fb: FormBuilder; private timeService; private translate; + private popoverService; + private renderer; + private cd; + viewContainerRef: ViewContainerRef; quickIntervalOnly: boolean; aggregation: boolean; timewindowForm: FormGroup; @@ -28,8 +33,6 @@ export declare class TimewindowConfigDialogComponent extends PageComponent imple realtimeTypes: typeof RealtimeWindowType; timewindowTypes: typeof TimewindowType; aggregationTypes: typeof AggregationType; - aggregations: string[]; - aggregationTypesTranslations: Map; result: Timewindow; timewindowTypeOptions: ToggleHeaderOption[]; realtimeTimewindowOptions: ToggleHeaderOption[]; @@ -37,19 +40,28 @@ export declare class TimewindowConfigDialogComponent extends PageComponent imple realtimeTypeSelectionAvailable: boolean; private timewindow; private destroy$; - constructor(data: TimewindowConfigDialogData, dialogRef: MatDialogRef, store: Store, fb: FormBuilder, timeService: TimeService, translate: TranslateService); + constructor(data: TimewindowConfigDialogData, dialogRef: MatDialogRef, store: Store, fb: FormBuilder, timeService: TimeService, translate: TranslateService, popoverService: TbPopoverService, renderer: Renderer2, cd: ChangeDetectorRef, viewContainerRef: ViewContainerRef); ngOnInit(): void; ngOnDestroy(): void; + private updateDisableAdvancedOptionState; private updateValidators; private onTimewindowTypeChange; update(): void; cancel(): void; - minRealtimeAggInterval(): number; - maxRealtimeAggInterval(): number; - currentRealtimeTimewindow(): number; - minHistoryAggInterval(): number; - maxHistoryAggInterval(): number; - currentHistoryTimewindow(): any; + get minRealtimeAggInterval(): number; + get maxRealtimeAggInterval(): number; + private currentRealtimeTimewindow; + get minHistoryAggInterval(): number; + get maxHistoryAggInterval(): number; + private currentHistoryTimewindow; + get realtimeAllowedAggIntervals(): Array; + get historyAllowedAggIntervals(): Array; + openAggregationOptionsConfig($event: Event): void; + configureRealtimeLastIntervalOptions($event: Event): void; + configureRealtimeQuickIntervalOptions($event: Event): void; + configureHistoryLastIntervalOptions($event: Event): void; + configureHistoryQuickIntervalOptions($event: Event): void; + private openIntervalOptionsConfig; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } diff --git a/src/app/shared/components/time/timewindow-panel.component.d.ts b/src/app/shared/components/time/timewindow-panel.component.d.ts index a7a64a8c..208717c9 100644 --- a/src/app/shared/components/time/timewindow-panel.component.d.ts +++ b/src/app/shared/components/time/timewindow-panel.component.d.ts @@ -1,5 +1,5 @@ import { InjectionToken, OnDestroy, OnInit, ViewContainerRef } from '@angular/core'; -import { AggregationType, HistoryWindowType, RealtimeWindowType, Timewindow, TimewindowType } from '@shared/models/time/time.models'; +import { AggregationType, HistoryWindowType, Interval, QuickTimeInterval, RealtimeWindowType, Timewindow, TimewindowAdvancedParams, TimewindowType } from '@shared/models/time/time.models'; import { PageComponent } from '@shared/components/page.component'; import { Store } from '@ngrx/store'; import { AppState } from '@core/core.state'; @@ -41,8 +41,6 @@ export declare class TimewindowPanelComponent extends PageComponent implements O realtimeTypes: typeof RealtimeWindowType; timewindowTypes: typeof TimewindowType; aggregationTypes: typeof AggregationType; - aggregations: string[]; - aggregationTypesTranslations: Map; result: Timewindow; timewindowTypeOptions: ToggleHeaderOption[]; realtimeTimewindowOptions: ToggleHeaderOption[]; @@ -52,6 +50,17 @@ export declare class TimewindowPanelComponent extends PageComponent implements O historyTypeSelectionAvailable: boolean; historyIntervalSelectionAvailable: boolean; aggregationOptionsAvailable: boolean; + realtimeDisableCustomInterval: boolean; + realtimeDisableCustomGroupInterval: boolean; + historyDisableCustomInterval: boolean; + historyDisableCustomGroupInterval: boolean; + realtimeAdvancedParams: TimewindowAdvancedParams; + realtimeAllowedLastIntervals: Array; + realtimeAllowedQuickIntervals: Array; + historyAdvancedParams: TimewindowAdvancedParams; + historyAllowedLastIntervals: Array; + historyAllowedQuickIntervals: Array; + allowedAggTypes: Array; private destroy$; constructor(data: TimewindowPanelData, overlayRef: OverlayRef, store: Store, fb: UntypedFormBuilder, timeService: TimeService, translate: TranslateService, viewContainerRef: ViewContainerRef, dialog: MatDialog); ngOnInit(): void; @@ -62,13 +71,16 @@ export declare class TimewindowPanelComponent extends PageComponent implements O private prepareTimewindowConfig; private updateTimewindowForm; cancel(): void; - minRealtimeAggInterval(): number; - maxRealtimeAggInterval(): number; - currentRealtimeTimewindow(): number; - minHistoryAggInterval(): number; - maxHistoryAggInterval(): number; - currentHistoryTimewindow(): any; + get minRealtimeAggInterval(): number; + get maxRealtimeAggInterval(): number; + private currentRealtimeTimewindow; + get minHistoryAggInterval(): number; + get maxHistoryAggInterval(): number; + private currentHistoryTimewindow; + get realtimeAllowedAggIntervals(): Array; + get historyAllowedAggIntervals(): Array; openTimewindowConfig(): void; + private updateTimewindowAdvancedParams; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } diff --git a/src/app/shared/decorators/public-api.d.ts b/src/app/shared/decorators/public-api.d.ts index eac10e72..32b09d30 100644 --- a/src/app/shared/decorators/public-api.d.ts +++ b/src/app/shared/decorators/public-api.d.ts @@ -1,3 +1,2 @@ export * from './coercion'; export * from './enumerable'; -export * from './tb-inject'; diff --git a/src/app/shared/decorators/tb-inject.d.ts b/src/app/shared/decorators/tb-inject.d.ts deleted file mode 100644 index f14dea62..00000000 --- a/src/app/shared/decorators/tb-inject.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { Type } from '@angular/core'; -export declare function TbInject(token: any): (target: Type, key: any, paramIndex: number) => void; diff --git a/src/app/shared/import-export/export-resource-dialog.component.d.ts b/src/app/shared/import-export/export-resource-dialog.component.d.ts new file mode 100644 index 00000000..8a980808 --- /dev/null +++ b/src/app/shared/import-export/export-resource-dialog.component.d.ts @@ -0,0 +1,31 @@ +import { MatDialogRef } from '@angular/material/dialog'; +import { Store } from '@ngrx/store'; +import { AppState } from '@core/core.state'; +import { FormControl } from '@angular/forms'; +import { Router } from '@angular/router'; +import { DialogComponent } from '@app/shared/components/dialog.component'; +import * as i0 from "@angular/core"; +export interface ExportResourceDialogData { + title: string; + prompt: string; + include?: boolean; + ignoreLoading?: boolean; +} +export interface ExportResourceDialogDialogResult { + include: boolean; +} +export declare class ExportResourceDialogComponent extends DialogComponent { + protected store: Store; + protected router: Router; + private data; + dialogRef: MatDialogRef; + ignoreLoading: boolean; + title: string; + prompt: string; + includeResourcesFormControl: FormControl; + constructor(store: Store, router: Router, data: ExportResourceDialogData, dialogRef: MatDialogRef); + cancel(): void; + export(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} diff --git a/src/app/shared/import-export/export-widgets-bundle-dialog.component.d.ts b/src/app/shared/import-export/export-widgets-bundle-dialog.component.d.ts deleted file mode 100644 index 60f188ca..00000000 --- a/src/app/shared/import-export/export-widgets-bundle-dialog.component.d.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { OnInit } from '@angular/core'; -import { MatDialogRef } from '@angular/material/dialog'; -import { Store } from '@ngrx/store'; -import { AppState } from '@core/core.state'; -import { FormControl } from '@angular/forms'; -import { Router } from '@angular/router'; -import { DialogComponent } from '@app/shared/components/dialog.component'; -import { WidgetsBundle } from '@shared/models/widgets-bundle.model'; -import * as i0 from "@angular/core"; -export interface ExportWidgetsBundleDialogData { - widgetsBundle: WidgetsBundle; - includeBundleWidgetsInExport: boolean; - ignoreLoading?: boolean; -} -export interface ExportWidgetsBundleDialogResult { - exportWidgets: boolean; -} -export declare class ExportWidgetsBundleDialogComponent extends DialogComponent implements OnInit { - protected store: Store; - protected router: Router; - data: ExportWidgetsBundleDialogData; - dialogRef: MatDialogRef; - widgetsBundle: WidgetsBundle; - ignoreLoading: boolean; - exportWidgetsFormControl: FormControl; - constructor(store: Store, router: Router, data: ExportWidgetsBundleDialogData, dialogRef: MatDialogRef); - ngOnInit(): void; - cancel(): void; - export(): void; - static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵcmp: i0.ɵɵComponentDeclaration; -} diff --git a/src/app/shared/import-export/import-export.service.d.ts b/src/app/shared/import-export/import-export.service.d.ts index d7719bce..e21d88fe 100644 --- a/src/app/shared/import-export/import-export.service.d.ts +++ b/src/app/shared/import-export/import-export.service.d.ts @@ -15,9 +15,9 @@ import { EntityType } from '@shared/models/entity-type.models'; import { UtilsService } from '@core/services/utils.service'; import { WidgetService } from '@core/http/widget.service'; import { WidgetsBundle } from '@shared/models/widgets-bundle.model'; -import { EntityInfoData, ImportEntitiesResultInfo, ImportEntityData } from '@shared/models/entity.models'; +import { ImportEntitiesResultInfo, ImportEntityData, VersionedEntity } from '@shared/models/entity.models'; import { RequestConfig } from '@core/http/http-utils'; -import { RuleChainImport, RuleChainMetaData, RuleChainType } from '@shared/models/rule-chain.models'; +import { RuleChainImport, RuleChainType } from '@shared/models/rule-chain.models'; import { RuleChainService } from '@core/http/rule-chain.service'; import { CustomerId } from '@shared/models/id/customer-id'; import { ConverterService } from '@core/http/converter.service'; @@ -67,7 +67,7 @@ export declare class ImportExportService { exportWidgetTypes(widgetTypeIds: string[]): Observable; importWidgetType(): Observable; exportWidgetsBundle(widgetsBundleId: string): void; - exportEntity(entityData: EntityInfoData | RuleChainMetaData): void; + exportEntity(entityData: VersionedEntity): void; private exportSelectedWidgetsBundle; private handleExportWidgetsBundle; private exportWidgetsBundleWithWidgetTypes; @@ -128,6 +128,9 @@ export declare class ImportExportService { private exportJson; private downloadFile; private prepareProfileExport; + private getIncludeResourcesPreference; + private openExportDialog; + private updateUserSettingsIncludeResourcesIfNeeded; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } diff --git a/src/app/shared/models/ace/completion.models.d.ts b/src/app/shared/models/ace/completion.models.d.ts index 30d2d5df..8fff7ac3 100644 --- a/src/app/shared/models/ace/completion.models.d.ts +++ b/src/app/shared/models/ace/completion.models.d.ts @@ -1,5 +1,5 @@ import { Ace } from 'ace-builds'; -export type tbMetaType = 'object' | 'function' | 'service' | 'property' | 'argument'; +export type tbMetaType = 'object' | 'function' | 'service' | 'property' | 'argument' | 'constant' | 'module'; export type TbEditorCompletions = { [name: string]: TbEditorCompletion; }; diff --git a/src/app/shared/models/ace/service-completion.models.d.ts b/src/app/shared/models/ace/service-completion.models.d.ts index 2482ad6a..2f7c5692 100644 --- a/src/app/shared/models/ace/service-completion.models.d.ts +++ b/src/app/shared/models/ace/service-completion.models.d.ts @@ -42,6 +42,8 @@ export declare const importEntityDataHref = "Import entities result info"; export declare const customDialogComponentHref = "CustomDialogComponent"; export declare const resourceInfoHref = "Resource info"; +export declare const bulkImportResultHref = "Bulk import result"; +export declare const bulkImportRequestHref = "Bulk import request"; export declare const pageLinkArg: FunctionArg; export declare const requestConfigArg: FunctionArg; export declare function observableReturnType(objectType: string): FunctionArgType; diff --git a/src/app/shared/models/action-widget-settings.models.d.ts b/src/app/shared/models/action-widget-settings.models.d.ts index e268024c..34d84257 100644 --- a/src/app/shared/models/action-widget-settings.models.d.ts +++ b/src/app/shared/models/action-widget-settings.models.d.ts @@ -1,10 +1,13 @@ import { AttributeScope } from '@shared/models/telemetry/telemetry.models'; import { widgetType } from '@shared/models/widget.models'; +import { AlarmSeverity } from '@shared/models/alarm.models'; +import { TbFunction } from '@shared/models/js-function.models'; export declare enum GetValueAction { DO_NOTHING = "DO_NOTHING", EXECUTE_RPC = "EXECUTE_RPC", GET_ATTRIBUTE = "GET_ATTRIBUTE", GET_TIME_SERIES = "GET_TIME_SERIES", + GET_ALARM_STATUS = "GET_ALARM_STATUS", GET_DASHBOARD_STATE = "GET_DASHBOARD_STATE" } export declare const getValueActions: GetValueAction[]; @@ -16,6 +19,10 @@ export interface RpcSettings { requestPersistent: boolean; persistentPollingInterval: number; } +export interface AlarmStatusSettings { + severityList: Array; + typeList: Array; +} export interface TelemetryValueSettings { key: string; } @@ -31,7 +38,7 @@ export declare enum DataToValueType { } export interface DataToValueSettings { type: DataToValueType; - dataToValueFunction: string; + dataToValueFunction: TbFunction; compareToValue?: any; } export interface ValueActionSettings { @@ -43,6 +50,7 @@ export interface GetValueSettings extends ValueActionSettings { executeRpc?: RpcSettings; getAttribute: GetAttributeValueSettings; getTimeSeries: TelemetryValueSettings; + getAlarmStatus: AlarmStatusSettings; dataToValue: DataToValueSettings; } export declare enum SetValueAction { @@ -62,7 +70,7 @@ export declare enum ValueToDataType { export interface ValueToDataSettings { type: ValueToDataType; constantValue: any; - valueToDataFunction: string; + valueToDataFunction: TbFunction; } export interface SetValueSettings extends ValueActionSettings { action: SetValueAction; diff --git a/src/app/shared/models/constants.d.ts b/src/app/shared/models/constants.d.ts index 976c0836..343fd1ea 100644 --- a/src/app/shared/models/constants.d.ts +++ b/src/app/shared/models/constants.d.ts @@ -123,6 +123,10 @@ export declare const HelpLinks: { ruleNodeAggregateStream: string; ruleNodeAlarmsCount: string; ruleNodeAlarmsCountDeprecated: string; + ruleNodeAcknowledge: string; + ruleNodeCheckpoint: string; + ruleNodeSendNotification: string; + ruleNodeSendSlack: string; tenants: string; tenantProfiles: string; customers: string; @@ -159,6 +163,9 @@ export declare const HelpLinks: { scada: string; scadaSymbolDev: string; scadaSymbolDevAnimation: string; + mobileApplication: string; + mobileBundle: string; + mobileQrCode: string; converters: string; uplinkConverters: string; downlinkConverters: string; @@ -181,6 +188,7 @@ export declare const HelpLinks: { integrationChirpStack: string; integrationAzureEventHub: string; integrationAzureIoTHub: string; + integrationAzureServiceBus: string; integrationOpcUa: string; integrationUdp: string; integrationTcp: string; @@ -191,6 +199,7 @@ export declare const HelpLinks: { integrationCoAP: string; integrationKpn: string; integrationCustom: string; + integrationTuya: string; whiteLabeling: string; entityGroups: string; customTranslation: string; diff --git a/src/app/shared/models/converter.models.d.ts b/src/app/shared/models/converter.models.d.ts index e5c1dd84..f2aa58e6 100644 --- a/src/app/shared/models/converter.models.d.ts +++ b/src/app/shared/models/converter.models.d.ts @@ -5,6 +5,7 @@ import { ContentType } from '@shared/models/constants'; import { ActivatedRouteSnapshot } from '@angular/router'; import { IntegrationType } from '@shared/models/integration.models'; import { ScriptLanguage } from '@shared/models/rule-node.models'; +import { HasDebugSettings } from '@shared/models/entity.models'; export declare enum ConverterType { UPLINK = "UPLINK", DOWNLINK = "DOWNLINK" @@ -17,11 +18,10 @@ export type DefaultUpdateOnlyKeys = { [key in IntegrationType]?: Array; }; export declare const converterTypeTranslationMap: Map; -export interface Converter extends BaseData, ExportableEntity { +export interface Converter extends BaseData, ExportableEntity, HasDebugSettings { tenantId?: TenantId; name: string; type: ConverterType; - debugMode: boolean; configuration: ConverterConfig; additionalInfo?: any; edgeTemplate: boolean; diff --git a/src/app/shared/models/custom-menu.models.d.ts b/src/app/shared/models/custom-menu.models.d.ts index c64c991c..8d7c934c 100644 --- a/src/app/shared/models/custom-menu.models.d.ts +++ b/src/app/shared/models/custom-menu.models.d.ts @@ -37,6 +37,7 @@ export interface MenuItem { icon?: string; visible?: boolean; pages?: MenuItem[]; + id?: MenuId; } export interface DefaultMenuItem extends MenuItem, MenuReference { id: MenuId; diff --git a/src/app/shared/models/dashboard.models.d.ts b/src/app/shared/models/dashboard.models.d.ts index d804dab2..3cebb1db 100644 --- a/src/app/shared/models/dashboard.models.d.ts +++ b/src/app/shared/models/dashboard.models.d.ts @@ -138,6 +138,7 @@ export interface Dashboard extends BaseData, HasTenantId, HasVersio mobileOrder?: number; configuration?: DashboardConfiguration; dialogRef?: MatDialogRef; + resources?: Array; } export type DashboardInfo = Dashboard & GroupEntityInfo; export interface HomeDashboard extends Dashboard { diff --git a/src/app/shared/models/entity-group.models.d.ts b/src/app/shared/models/entity-group.models.d.ts index 03a96835..e59e27e0 100644 --- a/src/app/shared/models/entity-group.models.d.ts +++ b/src/app/shared/models/entity-group.models.d.ts @@ -11,6 +11,7 @@ import { RoleId } from '@shared/models/id/role-id'; import { Edge } from '@shared/models/edge.models'; import { OtaPackageId } from '@shared/models/id/ota-package-id'; import { DeviceGroupOtaPackage } from '@shared/models/ota-package.models'; +import { TbFunction } from '@shared/models/js-function.models'; export declare const entityGroupTypes: EntityType[]; export declare const entityGroupActionTypes: WidgetActionType[]; export declare const entityGroupActionSources: { @@ -78,9 +79,9 @@ export interface EntityGroupColumn { sortOrder: EntityGroupSortOrder; mobileHide: boolean; useCellStyleFunction?: boolean; - cellStyleFunction?: string; + cellStyleFunction?: TbFunction; useCellContentFunction?: string; - cellContentFunction?: string; + cellContentFunction?: TbFunction; } export interface EntityGroupConfiguration { columns: EntityGroupColumn[]; diff --git a/src/app/shared/models/entity-type.models.d.ts b/src/app/shared/models/entity-type.models.d.ts index decdda6e..63d1a621 100644 --- a/src/app/shared/models/entity-type.models.d.ts +++ b/src/app/shared/models/entity-type.models.d.ts @@ -37,6 +37,7 @@ export declare enum EntityType { NOTIFICATION_TEMPLATE = "NOTIFICATION_TEMPLATE", OAUTH2_CLIENT = "OAUTH2_CLIENT", DOMAIN = "DOMAIN", + MOBILE_APP_BUNDLE = "MOBILE_APP_BUNDLE", MOBILE_APP = "MOBILE_APP" } export declare enum AliasEntityType { diff --git a/src/app/shared/models/entity.models.d.ts b/src/app/shared/models/entity.models.d.ts index 02f232cd..902153d3 100644 --- a/src/app/shared/models/entity.models.d.ts +++ b/src/app/shared/models/entity.models.d.ts @@ -4,6 +4,7 @@ import { EntityId } from '@shared/models/id/entity-id'; import { DeviceCredentialMQTTBasic } from '@shared/models/device.models'; import { Lwm2mSecurityConfigModels } from '@shared/models/lwm2m-security-config.models'; import { TenantId } from '@shared/models/id/tenant-id'; +import { RuleChainMetaData } from '@shared/models/rule-chain.models'; export interface EntityInfo { name?: string; label?: string; @@ -72,3 +73,12 @@ export interface HasTenantId { export interface HasVersion { version?: number; } +export interface HasDebugSettings { + debugSettings?: DebugSettings; +} +export interface DebugSettings { + failuresEnabled?: boolean; + allEnabled?: boolean; + allEnabledUntil?: number; +} +export type VersionedEntity = EntityInfoData & HasVersion | RuleChainMetaData; diff --git a/src/app/shared/models/error.models.d.ts b/src/app/shared/models/error.models.d.ts index e7c19735..43cb0b96 100644 --- a/src/app/shared/models/error.models.d.ts +++ b/src/app/shared/models/error.models.d.ts @@ -4,3 +4,5 @@ export interface ExceptionData { lineNumber?: number; columnNumber?: number; } +export declare const parseException: (exception: any, lineOffset?: number) => ExceptionData; +export declare const parseError: (err: any) => string; diff --git a/src/app/shared/models/group-permission.models.d.ts b/src/app/shared/models/group-permission.models.d.ts index 44d8dbec..2b513ff9 100644 --- a/src/app/shared/models/group-permission.models.d.ts +++ b/src/app/shared/models/group-permission.models.d.ts @@ -8,11 +8,11 @@ import { Role } from '@shared/models/role.models'; import { EntityId } from '@shared/models/id/entity-id'; export interface GroupPermission extends BaseData { tenantId?: TenantId; - userGroupId: EntityGroupId; + userGroupId?: EntityGroupId; roleId: RoleId; entityGroupId?: EntityGroupId; entityGroupType?: EntityType; - isPublic: boolean; + isPublic?: boolean; } export interface GroupPermissionInfo extends GroupPermission { role: Role; diff --git a/src/app/shared/models/id/mobile-app-bundle-id.d.ts b/src/app/shared/models/id/mobile-app-bundle-id.d.ts new file mode 100644 index 00000000..2f0146a8 --- /dev/null +++ b/src/app/shared/models/id/mobile-app-bundle-id.d.ts @@ -0,0 +1,7 @@ +import { EntityId } from '@shared/models/id/entity-id'; +import { EntityType } from '@shared/models/entity-type.models'; +export declare class MobileAppBundleId implements EntityId { + entityType: EntityType; + id: string; + constructor(id: string); +} diff --git a/src/app/shared/models/id/public-api.d.ts b/src/app/shared/models/id/public-api.d.ts index 84bdea71..d45b6026 100644 --- a/src/app/shared/models/id/public-api.d.ts +++ b/src/app/shared/models/id/public-api.d.ts @@ -10,6 +10,8 @@ export * from './entity-id'; export * from './entity-view-id'; export * from './event-id'; export * from './has-uuid'; +export * from './mobile-app-bundle-id'; +export * from './mobile-app-id'; export * from './notification-id'; export * from './notification-request-id'; export * from './notification-rule-id'; diff --git a/src/app/shared/models/integration.models.d.ts b/src/app/shared/models/integration.models.d.ts index a2341155..44ca4908 100644 --- a/src/app/shared/models/integration.models.d.ts +++ b/src/app/shared/models/integration.models.d.ts @@ -3,6 +3,7 @@ import { IntegrationId } from '@shared/models/id/integration-id'; import { ConverterId } from '@shared/models/id/converter-id'; import { EntityGroupParams } from '@shared/models/entity-group.models'; import { ActivatedRouteSnapshot } from '@angular/router'; +import { HasDebugSettings } from '@shared/models/entity.models'; export declare enum IntegrationType { MQTT = "MQTT", HTTP = "HTTP", @@ -67,9 +68,8 @@ export interface IntegrationMetaData { [k: string]: string; }; } -export interface IntegrationBasic extends BaseData, ExportableEntity { +export interface IntegrationBasic extends BaseData, ExportableEntity, HasDebugSettings { type: IntegrationType; - debugMode: boolean; enabled: boolean; remote: boolean; allowCreateDevicesOrAssets: boolean; @@ -254,6 +254,9 @@ export interface AzureEventHubIntegration { connectionString: string; consumerGroup?: string; iotHubName?: string; + storageConnectionString?: string; + containerName?: string; + enablePersistentCheckpoints?: boolean; }; } export interface AzureServicesBusIntegration { diff --git a/src/app/shared/models/js-function.models.d.ts b/src/app/shared/models/js-function.models.d.ts new file mode 100644 index 00000000..dd20d14e --- /dev/null +++ b/src/app/shared/models/js-function.models.d.ts @@ -0,0 +1,28 @@ +import { Observable } from 'rxjs'; +import { ResourceInfo } from '@shared/models/resource.models'; +import { HttpClient } from '@angular/common/http'; +import { TbEditorCompleter } from '@shared/models/ace/completion.models'; +import { TranslateService } from '@ngx-translate/core'; +export interface TbFunctionWithModules { + body: string; + modules: { + [alias: string]: string; + }; +} +export type TbFunction = string | TbFunctionWithModules; +export declare const isNotEmptyTbFunction: (tbFunction: TbFunction) => boolean; +export declare const compileTbFunction: (http: HttpClient, tbFunction: TbFunction, ...args: string[]) => Observable>; +export declare const loadModulesCompleter: (http: HttpClient, modules: { + [alias: string]: string; +}) => Observable; +export declare const loadModuleMarkdownDescription: (http: HttpClient, translate: TranslateService, resource: ResourceInfo) => Observable; +export declare const loadModuleMarkdownSourceCode: (http: HttpClient, translate: TranslateService, resource: ResourceInfo) => Observable; +export type GenericFunction = (...args: any[]) => any; +export declare class CompiledTbFunction { + private compiledFunction; + private compiledModules; + execute: T; + constructor(compiledFunction: Function, compiledModules: System.Module[]); + private executeImpl; + apply(thisArg: any, argArray?: any): any; +} diff --git a/src/app/shared/models/mobile-app.models.d.ts b/src/app/shared/models/mobile-app.models.d.ts index e3c967c6..747fefd6 100644 --- a/src/app/shared/models/mobile-app.models.d.ts +++ b/src/app/shared/models/mobile-app.models.d.ts @@ -1,24 +1,21 @@ -import { TenantId } from '@shared/models/id/tenant-id'; -export interface MobileAppSettings { - tenantId: TenantId; +import { BaseData } from '@shared/models/base-data'; +import { MobileAppId } from '@shared/models/id/mobile-app-id'; +import { OAuth2ClientInfo, PlatformType } from '@shared/models/oauth2.models'; +import { MobileAppBundleId } from '@shared/models/id/mobile-app-bundle-id'; +import { HasTenantId } from '@shared/models/entity.models'; +import { MobileSelfRegistrationParams } from '@shared/models/self-register.models'; +export interface QrCodeSettings extends HasTenantId { useSystemSettings: boolean; useDefaultApp: boolean; - androidConfig: AndroidConfig; - iosConfig: IosConfig; + mobileAppBundleId: MobileAppBundleId; + androidEnabled: boolean; + iosEnabled: boolean; qrCodeConfig: QRCodeConfig; - defaultGooglePlayLink: string; - defaultAppStoreLink: string; -} -export interface AndroidConfig { - enabled: boolean; - appPackage: string; - sha256CertFingerprints: string; - storeLink: string; -} -export interface IosConfig { - enabled: boolean; - appId: string; - storeLink: string; + readonly googlePlayLink: string; + readonly appStoreLink: string; + id: { + id: string; + }; } export interface QRCodeConfig { showOnHomePage: boolean; @@ -27,12 +24,100 @@ export interface QRCodeConfig { qrCodeLabelEnabled: boolean; qrCodeLabel: string; } -export interface MobileOSBadgeURL { - iOS: string; - android: string; -} export declare enum BadgePosition { RIGHT = "RIGHT", LEFT = "LEFT" } export declare const badgePositionTranslationsMap: Map; +export declare enum MobileAppStatus { + DRAFT = "DRAFT", + PUBLISHED = "PUBLISHED", + DEPRECATED = "DEPRECATED", + SUSPENDED = "SUSPENDED" +} +export declare const mobileAppStatusTranslations: Map; +export interface VersionInfo { + minVersion: string; + minVersionReleaseNotes?: string; + latestVersion: string; + latestVersionReleaseNotes?: string; +} +export interface StoreInfo { + sha256CertFingerprints?: string; + storeLink: string; + appId?: string; +} +export interface MobileApp extends BaseData, HasTenantId { + pkgName: string; + appSecret: string; + platformType: PlatformType; + status: MobileAppStatus; + versionInfo: VersionInfo; + storeInfo: StoreInfo; +} +declare enum MobileMenuPath { + HOME = "HOME", + ASSETS = "ASSETS", + DEVICES = "DEVICES", + DEVICE_LIST = "DEVICE_LIST", + ALARMS = "ALARMS", + DASHBOARDS = "DASHBOARDS", + DASHBOARD = "DASHBOARD", + AUDIT_LOGS = "AUDIT_LOGS", + CUSTOMERS = "CUSTOMERS", + NOTIFICATIONS = "NOTIFICATIONS" +} +export declare enum MobilePageType { + DEFAULT = "DEFAULT", + CUSTOM = "CUSTOM", + DASHBOARD = "DASHBOARD", + WEB_VIEW = "WEB_VIEW" +} +export declare const mobilePageTypeTranslations: Map; +export interface MobilePage { + label?: string; + icon?: string; + type: MobilePageType; + visible: boolean; +} +export interface DefaultMobilePage extends MobilePage { + id: MobileMenuPath; +} +export interface CustomMobilePage extends MobilePage { + dashboardId?: string; + url?: string; + path?: string; +} +export interface MobileLayoutConfig { + pages: MobilePage[]; +} +export interface MobileAppBundle extends Omit, 'label'>, HasTenantId { + title?: string; + description?: string; + androidAppId?: MobileAppId; + iosAppId?: MobileAppId; + layoutConfig?: MobileLayoutConfig; + selfRegistrationParams?: MobileSelfRegistrationParams; + oauth2Enabled: boolean; +} +export interface MobileAppBundleInfo extends MobileAppBundle { + androidPkgName: string; + iosPkgName: string; + androidPkg?: { + name: string; + id: MobileAppId; + }; + iosPkg?: { + name: string; + id: MobileAppId; + }; + oauth2ClientInfos?: Array; + qrCodeEnabled: boolean; +} +export declare const hideDefaultMenuItems: MobileMenuPath[]; +export declare const getDefaultMobileMenuItem: () => DefaultMobilePage[]; +export declare const isDefaultMobileMenuItem: (item: MobilePage) => item is DefaultMobilePage; +export declare const isDefaultMobilePagesConfig: (items: MobilePage[]) => boolean; +export declare const mobileMenuDividers: Map; +export declare const defaultMobilePageMap: Map>; +export {}; diff --git a/src/app/shared/models/notification.models.d.ts b/src/app/shared/models/notification.models.d.ts index 9be3a236..96450279 100644 --- a/src/app/shared/models/notification.models.d.ts +++ b/src/app/shared/models/notification.models.d.ts @@ -291,6 +291,7 @@ interface SlackDeliveryMethodNotificationTemplate { interface MicrosoftTeamsDeliveryMethodNotificationTemplate { subject?: string; button: NotificationButtonConfig; + themeColor?: string; } interface MobileDeliveryMethodNotificationTemplate { subject: string; @@ -357,7 +358,9 @@ export declare enum NotificationType { RATE_LIMITS = "RATE_LIMITS", EDGE_CONNECTION = "EDGE_CONNECTION", EDGE_COMMUNICATION_FAILURE = "EDGE_COMMUNICATION_FAILURE", - TASK_PROCESSING_FAILURE = "TASK_PROCESSING_FAILURE" + TASK_PROCESSING_FAILURE = "TASK_PROCESSING_FAILURE", + USER_ACTIVATED = "USER_ACTIVATED", + USER_REGISTERED = "USER_REGISTERED" } export declare const NotificationTypeIcons: Map; export declare const AlarmSeverityNotificationColors: Map; diff --git a/src/app/shared/models/oauth2.models.d.ts b/src/app/shared/models/oauth2.models.d.ts index 0686f84a..78928c13 100644 --- a/src/app/shared/models/oauth2.models.d.ts +++ b/src/app/shared/models/oauth2.models.d.ts @@ -4,7 +4,6 @@ import { TenantId } from '@shared/models/id/tenant-id'; import { HasTenantId } from './entity.models'; import { DomainId } from './id/domain-id'; import { HasUUID } from '@shared/models/id/has-uuid'; -import { MobileAppId } from '@shared/models/id/mobile-app-id'; export declare enum DomainSchema { HTTP = "HTTP", HTTPS = "HTTPS", @@ -41,6 +40,7 @@ export interface OAuth2RegistrationInfo { additionalInfo: string; } export declare enum ClientAuthenticationMethod { + NONE = "NONE", BASIC = "BASIC", POST = "POST" } @@ -56,15 +56,6 @@ export interface HasOauth2Clients { export interface DomainInfo extends Domain, HasOauth2Clients { oauth2ClientInfos?: Array | Array; } -export interface MobileApp extends BaseData, HasTenantId { - tenantId?: TenantId; - pkgName: string; - appSecret: string; - oauth2Enabled: boolean; -} -export interface MobileAppInfo extends MobileApp, HasOauth2Clients { - oauth2ClientInfos?: Array | Array; -} export interface OAuth2Client extends BaseData, HasTenantId { tenantId?: TenantId; title: string; diff --git a/src/app/shared/models/resource.models.d.ts b/src/app/shared/models/resource.models.d.ts index ba8c9eb0..c788ae45 100644 --- a/src/app/shared/models/resource.models.d.ts +++ b/src/app/shared/models/resource.models.d.ts @@ -10,11 +10,14 @@ export declare enum ResourceType { } export declare enum ResourceSubType { IMAGE = "IMAGE", - SCADA_SYMBOL = "SCADA_SYMBOL" + SCADA_SYMBOL = "SCADA_SYMBOL", + EXTENSION = "EXTENSION", + MODULE = "MODULE" } export declare const ResourceTypeMIMETypes: Map; export declare const ResourceTypeExtension: Map; export declare const ResourceTypeTranslationMap: Map; +export declare const ResourceSubTypeTranslationMap: Map; export interface TbResourceInfo extends Omit, 'name' | 'label'>, ExportableEntity { tenantId?: TenantId; resourceKey?: string; @@ -24,6 +27,8 @@ export interface TbResourceInfo extends Omit, 'name' | fileName: string; public: boolean; publicResourceKey?: string; + readonly link?: string; + readonly publicLink?: string; descriptor?: D; } export type ResourceInfo = TbResourceInfo; @@ -39,10 +44,7 @@ export interface ImageDescriptor { etag: string; previewDescriptor: ImageDescriptor; } -export interface ImageResourceInfo extends TbResourceInfo { - link?: string; - publicLink?: string; -} +export type ImageResourceInfo = TbResourceInfo; export interface ImageResource extends ImageResourceInfo { base64?: string; } @@ -57,6 +59,7 @@ export interface ImageExportData { data: string; } export type ImageResourceType = 'tenant' | 'system'; +export type TBResourceScope = 'tenant' | 'system'; export type ImageReferences = Array | WhiteLabeling>; export interface ImageResourceInfoWithReferences extends ImageResourceInfo { references: ImageReferences; @@ -71,18 +74,29 @@ export interface ImageDeleteResult { export declare const toImageDeleteResult: (image: ImageResourceInfo, e?: any) => ImageDeleteResult; export declare const imageResourceType: (imageInfo: ImageResourceInfo) => ImageResourceType; export declare const TB_IMAGE_PREFIX = "tb-image;"; +export declare const TB_RESOURCE_PREFIX = "tb-resource;"; export declare const IMAGES_URL_REGEXP: RegExp; export declare const IMAGES_URL_PREFIX = "/api/images"; +export declare const RESOURCES_URL_REGEXP: RegExp; export declare const PUBLIC_IMAGES_URL_PREFIX = "/api/images/public"; export declare const IMAGE_BASE64_URL_PREFIX = "data:image/"; export declare const removeTbImagePrefix: (url: string) => string; +export declare const removeTbResourcePrefix: (url: string) => string; export declare const removeTbImagePrefixFromUrls: (urls: string[]) => string[]; export declare const prependTbImagePrefix: (url: string) => string; export declare const prependTbImagePrefixToUrls: (urls: string[]) => string[]; +export declare const prependTbResourcePrefix: (url: string) => string; export declare const isImageResourceUrl: (url: string) => boolean; +export declare const isJSResourceUrl: (url: string) => boolean; +export declare const isJSResource: (url: string) => boolean; export declare const extractParamsFromImageResourceUrl: (url: string) => { type: ImageResourceType; key: string; }; +export declare const extractParamsFromJSResourceUrl: (url: string) => { + type: ResourceType; + scope: TBResourceScope; + key: string; +}; export declare const isBase64DataImageUrl: (url: string) => boolean; export declare const NO_IMAGE_DATA_URI = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="; diff --git a/src/app/shared/models/rule-node.models.d.ts b/src/app/shared/models/rule-node.models.d.ts index ba1e222c..ed693728 100644 --- a/src/app/shared/models/rule-node.models.d.ts +++ b/src/app/shared/models/rule-node.models.d.ts @@ -11,15 +11,15 @@ import { AppState } from '@core/core.state'; import { UntypedFormGroup } from '@angular/forms'; import { RuleChainType } from '@shared/models/rule-chain.models'; import { DebugRuleNodeEventBody } from '@shared/models/event.models'; +import { HasDebugSettings } from '@shared/models/entity.models'; import * as i0 from "@angular/core"; export interface RuleNodeConfiguration { [key: string]: any; } -export interface RuleNode extends BaseData { +export interface RuleNode extends BaseData, HasDebugSettings { ruleChainId?: RuleChainId; type: string; name: string; - debugMode: boolean; singletonMode: boolean; queueName?: string; configurationVersion?: number; @@ -121,7 +121,7 @@ export interface RuleNodeComponentDescriptor extends ComponentDescriptor { configurationVersion: number; configurationDescriptor?: RuleNodeConfigurationDescriptor; } -export interface FcRuleNodeType extends FcNode { +export interface FcRuleNodeType extends FcNode, HasDebugSettings { component?: RuleNodeComponentDescriptor; singletonMode?: boolean; queueName?: string; @@ -133,7 +133,6 @@ export interface FcRuleNode extends FcRuleNodeType { ruleNodeId?: RuleNodeId; additionalInfo?: any; configuration?: RuleNodeConfiguration; - debugMode?: boolean; error?: string; highlighted?: boolean; componentClazz?: string; diff --git a/src/app/shared/models/security.models.d.ts b/src/app/shared/models/security.models.d.ts index 39e39055..0fc7b2d1 100644 --- a/src/app/shared/models/security.models.d.ts +++ b/src/app/shared/models/security.models.d.ts @@ -69,7 +69,11 @@ export declare enum Resource { QUEUE_STATS = "QUEUE_STATS", VERSION_CONTROL = "VERSION_CONTROL", NOTIFICATION = "NOTIFICATION", - MOBILE_APP_SETTINGS = "MOBILE_APP_SETTINGS" + MOBILE_APP_SETTINGS = "MOBILE_APP_SETTINGS", + MOBILE_APP_BUNDLE = "MOBILE_APP_BUNDLE", + MOBILE_APP = "MOBILE_APP", + OAUTH2_CLIENT = "OAUTH2_CLIENT", + DOMAIN = "DOMAIN" } export declare const resourceTypeTranslationMap: Map; export declare const resourceByEntityType: Map; diff --git a/src/app/shared/models/self-register.models.d.ts b/src/app/shared/models/self-register.models.d.ts index dc7c47d8..ed8e2871 100644 --- a/src/app/shared/models/self-register.models.d.ts +++ b/src/app/shared/models/self-register.models.d.ts @@ -1,26 +1,93 @@ import { GroupPermission } from '@shared/models/group-permission.models'; -export type CaptchaVersion = 'v2' | 'v3'; +import { EntityGroupId } from '@shared/models/id/entity-group-id'; +import { CustomMenuId } from '@shared/models/id/custom-menu-id'; +import { NotificationTargetId } from '@shared/models/id/notification-target-id'; +import { DomainId } from '@shared/models/id/domain-id'; +export type CaptchaVersion = 'v2' | 'v3' | 'enterprise'; +export declare enum SelfRegistrationType { + WEB = "WEB", + MOBILE = "MOBILE" +} +export declare enum SignUpFieldId { + EMAIL = "EMAIL", + PASSWORD = "PASSWORD", + REPEAT_PASSWORD = "REPEAT_PASSWORD", + FIRST_NAME = "FIRST_NAME", + LAST_NAME = "LAST_NAME", + PHONE = "PHONE", + COUNTRY = "COUNTRY", + CITY = "CITY", + STATE = "STATE", + ZIP = "ZIP", + ADDRESS = "ADDRESS", + ADDRESS2 = "ADDRESS2" +} +export interface SignUpField { + id: SignUpFieldId; + label: string; + required: boolean; +} +export declare const SignUpFieldMap: Map; +export declare const defaultSignUpFields: SignUpFieldId[]; +export declare const alwaysRequiredSignUpFields: SignUpFieldId[]; export interface SignUpSelfRegistrationParams { - signUpTextMessage?: string; - captchaSiteKey?: string; - captchaVersion?: CaptchaVersion; - captchaAction?: string; + title?: string; + captcha?: CaptchaParams; + signUpFields: Array; activate?: boolean; showPrivacyPolicy?: boolean; showTermsOfUse?: boolean; } -export interface SelfRegistrationParams extends SignUpSelfRegistrationParams { - adminSettingsId?: string; - domainName?: string; - captchaSecretKey?: string; +export interface WebSelfRegistrationParams extends AbstractSelfRegistrationParams { + domainId?: DomainId; +} +export interface AbstractSelfRegistrationParams { + enabled: boolean; + title: string; + captcha?: CaptchaParams; + signUpFields: Array; + showPrivacyPolicy: boolean; + showTermsOfUse: boolean; privacyPolicy?: string; termsOfUse?: string; - notificationEmail?: string; - defaultDashboardId?: string; - defaultDashboardFullscreen?: boolean; - permissions?: GroupPermission[]; - pkgName?: string; - appSecret?: string; - appScheme?: string; - appHost?: string; + notificationRecipient: NotificationTargetId; + customerTitlePrefix: string; + customerGroupId: EntityGroupId; + permissions: GroupPermission[]; + defaultDashboard: DefaultDashboardParams; + homeDashboard: HomeDashboardParams; + customMenuId?: CustomMenuId; + type: SelfRegistrationType; +} +export interface SignUpField { + id: SignUpFieldId; + label: string; + required: boolean; +} +interface HomeDashboardParams { + id: string; + hideToolbar: boolean; +} +export interface CaptchaParams { + siteKey?: string; + version: CaptchaVersion; + logActionName?: string; + secretKey?: string; + projectId?: string; + androidKey?: string; + iosKey?: string; + serviceAccountCredentials?: string; + serviceAccountCredentialsFileName?: string; +} +interface DefaultDashboardParams { + id: string; + fullscreen: boolean; +} +export interface MobileSelfRegistrationParams extends AbstractSelfRegistrationParams { + redirect: MobileRedirectParams; +} +interface MobileRedirectParams { + scheme: string; + host: string; } +export {}; diff --git a/src/app/shared/models/settings.models.d.ts b/src/app/shared/models/settings.models.d.ts index 2812df31..b2e0b96e 100644 --- a/src/app/shared/models/settings.models.d.ts +++ b/src/app/shared/models/settings.models.d.ts @@ -77,8 +77,6 @@ export declare enum MailTemplate { accountLockout = "accountLockout", resetPassword = "resetPassword", passwordWasReset = "passwordWasReset", - userActivated = "userActivated", - userRegistered = "userRegistered", apiUsageStateEnabled = "apiUsageStateEnabled", apiUsageStateWarning = "apiUsageStateWarning", apiUsageStateDisabled = "apiUsageStateDisabled", diff --git a/src/app/shared/models/signup.models.d.ts b/src/app/shared/models/signup.models.d.ts index bb72d998..a08a2a92 100644 --- a/src/app/shared/models/signup.models.d.ts +++ b/src/app/shared/models/signup.models.d.ts @@ -1,8 +1,11 @@ +interface SignupRequestFields { + EMAIL: string; + FIRST_NAME: string; + LAST_NAME: string; + PASSWORD: string; +} export declare class SignupRequest { - firstName: string; - lastName: string; - email: string; - password: string; + fields: SignupRequestFields; recaptchaResponse: string; constructor(firstName: string, lastName: string, email: string, password: string, recaptchaResponse: string); static create(): SignupRequest; @@ -11,3 +14,4 @@ export declare enum SignUpResult { SUCCESS = "SUCCESS", INACTIVE_USER_EXISTS = "INACTIVE_USER_EXISTS" } +export {}; diff --git a/src/app/shared/models/telemetry/telemetry.models.d.ts b/src/app/shared/models/telemetry/telemetry.models.d.ts index 4cbf7ee4..288081c2 100644 --- a/src/app/shared/models/telemetry/telemetry.models.d.ts +++ b/src/app/shared/models/telemetry/telemetry.models.d.ts @@ -5,6 +5,7 @@ import { EntityId } from '@shared/models/id/entity-id'; import { NgZone } from '@angular/core'; import { AlarmCountQuery, AlarmData, AlarmDataQuery, EntityCountQuery, EntityData, EntityDataQuery, EntityFilter, EntityKey, TsValue } from '@shared/models/query/query.models'; import { PageData } from '@shared/models/page/page-data'; +import { AlarmSeverity } from '@shared/models/alarm.models'; import { CmdWrapper, WsService, WsSubscriber } from '@shared/models/websocket/websocket.models'; import { TelemetryWebsocketService } from '@core/ws/telemetry-websocket.service'; import { Notification, NotificationType } from '@shared/models/notification.models'; @@ -59,12 +60,14 @@ export declare enum WsCmdType { ENTITY_COUNT = "ENTITY_COUNT", ALARM_DATA = "ALARM_DATA", ALARM_COUNT = "ALARM_COUNT", + ALARM_STATUS = "ALARM_STATUS", NOTIFICATIONS = "NOTIFICATIONS", NOTIFICATIONS_COUNT = "NOTIFICATIONS_COUNT", MARK_NOTIFICATIONS_AS_READ = "MARK_NOTIFICATIONS_AS_READ", MARK_ALL_NOTIFICATIONS_AS_READ = "MARK_ALL_NOTIFICATIONS_AS_READ", ALARM_DATA_UNSUBSCRIBE = "ALARM_DATA_UNSUBSCRIBE", ALARM_COUNT_UNSUBSCRIBE = "ALARM_COUNT_UNSUBSCRIBE", + ALARM_STATUS_UNSUBSCRIBE = "ALARM_STATUS_UNSUBSCRIBE", ENTITY_DATA_UNSUBSCRIBE = "ENTITY_DATA_UNSUBSCRIBE", ENTITY_COUNT_UNSUBSCRIBE = "ENTITY_COUNT_UNSUBSCRIBE", NOTIFICATIONS_UNSUBSCRIBE = "NOTIFICATIONS_UNSUBSCRIBE" @@ -189,6 +192,13 @@ export declare class AlarmCountCmd implements WebsocketCmd { query?: AlarmCountQuery; type: WsCmdType; } +export declare class AlarmStatusCmd implements WebsocketCmd { + cmdId: number; + originatorId: EntityId; + severityList?: Array; + typeList?: Array; + type: WsCmdType; +} export declare class UnreadCountSubCmd implements WebsocketCmd { cmdId: number; type: WsCmdType; @@ -226,6 +236,10 @@ export declare class AlarmCountUnsubscribeCmd implements WebsocketCmd { cmdId: number; type: WsCmdType; } +export declare class AlarmStatusUnsubscribeCmd implements WebsocketCmd { + cmdId: number; + type: WsCmdType; +} export declare class UnsubscribeCmd implements WebsocketCmd { cmdId: number; type: WsCmdType; @@ -265,6 +279,7 @@ export declare enum CmdUpdateType { ENTITY_DATA = "ENTITY_DATA", ALARM_DATA = "ALARM_DATA", ALARM_COUNT_DATA = "ALARM_COUNT_DATA", + ALARM_STATUS = "ALARM_STATUS", COUNT_DATA = "COUNT_DATA", NOTIFICATIONS_COUNT = "NOTIFICATIONS_COUNT", NOTIFICATIONS = "NOTIFICATIONS" @@ -295,6 +310,10 @@ export interface AlarmCountUpdateMsg extends CmdUpdateMsg { cmdUpdateType: CmdUpdateType.ALARM_COUNT_DATA; count: number; } +export interface AlarmStatusUpdateMsg extends CmdUpdateMsg { + cmdUpdateType: CmdUpdateType.ALARM_STATUS; + active: boolean; +} export interface NotificationCountUpdateMsg extends CmdUpdateMsg { cmdUpdateType: CmdUpdateType.NOTIFICATIONS_COUNT; totalUnreadCount: number; @@ -312,6 +331,7 @@ export declare const isEntityDataUpdateMsg: (message: WebsocketDataMsg) => messa export declare const isAlarmDataUpdateMsg: (message: WebsocketDataMsg) => message is AlarmDataUpdateMsg; export declare const isEntityCountUpdateMsg: (message: WebsocketDataMsg) => message is EntityCountUpdateMsg; export declare const isAlarmCountUpdateMsg: (message: WebsocketDataMsg) => message is AlarmCountUpdateMsg; +export declare const isAlarmStatusUpdateMsg: (message: WebsocketDataMsg) => message is AlarmCountUpdateMsg; export declare const isNotificationCountUpdateMsg: (message: WebsocketDataMsg) => message is NotificationCountUpdateMsg; export declare const isNotificationsUpdateMsg: (message: WebsocketDataMsg) => message is NotificationsUpdateMsg; export declare class SubscriptionUpdate implements SubscriptionUpdateMsg { @@ -355,6 +375,10 @@ export declare class AlarmCountUpdate extends CmdUpdate { count: number; constructor(msg: AlarmCountUpdateMsg); } +export declare class AlarmStatusUpdate extends CmdUpdate { + active: boolean; + constructor(msg: AlarmStatusUpdateMsg); +} export declare class NotificationCountUpdate extends CmdUpdate { totalUnreadCount: number; sequenceNumber: number; @@ -367,6 +391,24 @@ export declare class NotificationsUpdate extends CmdUpdate { notifications?: Notification[]; constructor(msg: NotificationsUpdateMsg); } +export declare class SharedTelemetrySubscriber { + private sharedSubscriptionInfo; + private static subscribersCache; + private static createTelemetrySubscriberKey; + private static createAlarmStatusSubscriberKey; + private subscribed; + private attributeDataSubject; + private alarmStatusSubject; + private subscriptions; + attributeData$: Observable>; + alarmStatus$: Observable; + static createEntityAttributesSubscription(telemetryService: TelemetryWebsocketService, entityId: EntityId, attributeScope: TelemetryType, zone: NgZone, keys?: string[]): SharedTelemetrySubscriber; + static createAlarmStatusSubscription(telemetryService: TelemetryWebsocketService, entityId: EntityId, zone: NgZone, severityList?: AlarmSeverity[], typeList?: string[]): SharedTelemetrySubscriber; + private constructor(); + subscribe(): void; + unsubscribe(): void; + private complete; +} export declare class TelemetrySubscriber extends WsSubscriber { private telemetryService; protected zone?: NgZone; @@ -375,13 +417,16 @@ export declare class TelemetrySubscriber extends WsSubscriber { private alarmDataSubject; private entityCountSubject; private alarmCountSubject; + private alarmStatusSubject; private tsOffset; data$: Observable; entityData$: Observable; alarmData$: Observable; entityCount$: Observable; alarmCount$: Observable; + alarmStatus$: Observable; static createEntityAttributesSubscription(telemetryService: TelemetryWebsocketService, entityId: EntityId, attributeScope: TelemetryType, zone: NgZone, keys?: string[]): TelemetrySubscriber; + static createAlarmStatusSubscription(telemetryService: TelemetryWebsocketService, entityId: EntityId, zone: NgZone, severityList?: AlarmSeverity[], typeList?: string[]): TelemetrySubscriber; static createEntityFilterLatestSubscription(telemetryService: TelemetryWebsocketService, entityFilter: EntityFilter, zone: NgZone, latestKeys?: EntityKey[]): TelemetrySubscriber; constructor(telemetryService: TelemetryWebsocketService, zone?: NgZone); complete(): void; @@ -391,6 +436,7 @@ export declare class TelemetrySubscriber extends WsSubscriber { onAlarmData(message: AlarmDataUpdate): void; onEntityCount(message: EntityCountUpdate): void; onAlarmCount(message: AlarmCountUpdate): void; + onAlarmStatus(message: AlarmStatusUpdate): void; attributeData$(): Observable>; } export declare class NotificationSubscriber extends WsSubscriber { diff --git a/src/app/shared/models/tenant.model.d.ts b/src/app/shared/models/tenant.model.d.ts index 6a314baf..fb74d03c 100644 --- a/src/app/shared/models/tenant.model.d.ts +++ b/src/app/shared/models/tenant.model.d.ts @@ -61,6 +61,7 @@ export interface DefaultTenantProfileConfiguration { rpcTtlDays: number; queueStatsTtlDays: number; ruleEngineExceptionsTtlDays: number; + blobEntityTtlDays: number; } export type TenantProfileConfigurations = DefaultTenantProfileConfiguration; export interface TenantProfileConfiguration extends TenantProfileConfigurations { diff --git a/src/app/shared/models/time/time.models.d.ts b/src/app/shared/models/time/time.models.d.ts index f921f3aa..419f0724 100644 --- a/src/app/shared/models/time/time.models.d.ts +++ b/src/app/shared/models/time/time.models.d.ts @@ -1,6 +1,7 @@ import { TimeService } from '@core/services/time.service'; import moment_ from 'moment'; import { IntervalType } from '@shared/models/telemetry/telemetry.models'; +import { FormGroup } from '@angular/forms'; export declare const SECOND = 1000; export declare const MINUTE: number; export declare const HOUR: number; @@ -32,6 +33,20 @@ export declare class IntervalMath { static min(...values: Interval[]): Interval; static numberValue(value: Interval): number; } +export interface TimewindowAdvancedParams { + allowedLastIntervals?: Array; + allowedQuickIntervals?: Array; + lastAggIntervalsConfig?: TimewindowAggIntervalsConfig; + quickAggIntervalsConfig?: TimewindowAggIntervalsConfig; +} +export type TimewindowInterval = Interval | QuickTimeInterval; +export interface TimewindowAggIntervalsConfig { + [key: string]: TimewindowAggIntervalOptions; +} +export interface TimewindowAggIntervalOptions { + aggIntervals?: Array; + defaultAggInterval?: Interval; +} export interface IntervalWindow { interval?: Interval; timewindowMs?: number; @@ -42,6 +57,7 @@ export interface IntervalWindow { hideLastInterval?: boolean; hideQuickInterval?: boolean; hideFixedInterval?: boolean; + advancedParams?: TimewindowAdvancedParams; } export interface RealtimeWindow extends IntervalWindow { realtimeType?: RealtimeWindowType; @@ -71,6 +87,7 @@ export interface Aggregation { export interface Timewindow { displayValue?: string; displayTimezoneAbbr?: string; + allowedAggTypes?: Array; hideAggregation?: boolean; hideAggInterval?: boolean; hideTimezone?: boolean; @@ -103,6 +120,13 @@ export interface WidgetTimewindow { tsOffset?: number; stDiff?: number; } +export interface TimewindowIntervalOption { + name: string; + translateParams?: { + [key: string]: any; + }; + value: TimewindowInterval; +} export declare enum QuickTimeInterval { YESTERDAY = "YESTERDAY", DAY_BEFORE_YESTERDAY = "DAY_BEFORE_YESTERDAY", @@ -137,6 +161,13 @@ export declare const defaultTimewindow: (timeService: TimeService) => Timewindow export declare const initModelFromDefaultTimewindow: (value: Timewindow, quickIntervalOnly: boolean, historyOnly: boolean, timeService: TimeService) => Timewindow; export declare const toHistoryTimewindow: (timewindow: Timewindow, startTimeMs: number, endTimeMs: number, interval: Interval, timeService: TimeService) => Timewindow; export declare const timewindowTypeChanged: (newTimewindow: Timewindow, oldTimewindow: Timewindow) => boolean; +export declare const updateFormValuesOnTimewindowTypeChange: (selectedTab: TimewindowType, quickIntervalOnly: boolean, timewindowForm: FormGroup, realtimeDisableCustomInterval: boolean, historyDisableCustomInterval: boolean, realtimeAdvancedParams?: TimewindowAdvancedParams, historyAdvancedParams?: TimewindowAdvancedParams) => void; +export declare const currentRealtimeTimewindow: (timewindow: Timewindow) => number; +export declare const currentHistoryTimewindow: (timewindow: Timewindow) => number; +export declare const realtimeAllowedAggIntervals: (timewindow: Timewindow, advancedParams: TimewindowAdvancedParams) => Array; +export declare const historyAllowedAggIntervals: (timewindow: Timewindow, advancedParams: TimewindowAdvancedParams) => Array; +export declare const realtimeDefaultAggInterval: (timewindow: Timewindow, advancedParams: TimewindowAdvancedParams) => Interval; +export declare const historyDefaultAggInterval: (timewindow: Timewindow, advancedParams: TimewindowAdvancedParams) => Interval; export declare const getTimezone: (tz: string) => moment_.Moment; export declare const calculateTsOffset: (timezone?: string) => number; export declare const isHistoryTypeTimewindow: (timewindow: Timewindow) => boolean; @@ -158,6 +189,7 @@ export interface TimeInterval { value: Interval; } export declare const defaultTimeIntervals: TimeInterval[]; +export declare const intervalValuesToTimeIntervals: (intervalValues: Array) => Array; export declare enum TimeUnit { SECONDS = "SECONDS", MINUTES = "MINUTES", diff --git a/src/app/shared/models/user-settings.models.d.ts b/src/app/shared/models/user-settings.models.d.ts index e484aed1..7f59fd1b 100644 --- a/src/app/shared/models/user-settings.models.d.ts +++ b/src/app/shared/models/user-settings.models.d.ts @@ -2,7 +2,10 @@ export interface UserSettings { openedMenuSections?: string[]; notDisplayConnectivityAfterAddDevice?: boolean; notDisplayInstructionsAfterAddEdge?: boolean; + notDisplayConfigurationAfterAddMobileBundle?: boolean; includeBundleWidgetsInExport?: boolean; + includeResourcesInExportWidgetTypes?: boolean; + includeResourcesInExportDashboard?: boolean; } export declare const initialUserSettings: UserSettings; export declare enum UserSettingsType { diff --git a/src/app/shared/models/vc.models.d.ts b/src/app/shared/models/vc.models.d.ts index c964472f..d20f8374 100644 --- a/src/app/shared/models/vc.models.d.ts +++ b/src/app/shared/models/vc.models.d.ts @@ -7,7 +7,7 @@ import { RuleChain, RuleChainMetaData } from '@shared/models/rule-chain.models'; import { EntityGroup } from '@shared/models/entity-group.models'; import { GroupPermission } from '@shared/models/group-permission.models'; export declare const exportableEntityTypes: Array; -export declare const entityTypesWithoutRelatedData: Set; +export declare const entityTypesWithoutRelatedData: Set; export interface VersionCreateConfig { saveRelations: boolean; saveAttributes: boolean; diff --git a/src/app/shared/models/white-labeling.models.d.ts b/src/app/shared/models/white-labeling.models.d.ts index f2a114fc..8a4c8001 100644 --- a/src/app/shared/models/white-labeling.models.d.ts +++ b/src/app/shared/models/white-labeling.models.d.ts @@ -1,6 +1,7 @@ import { ColorPalette } from '@shared/models/material.models'; import { TenantId } from '@shared/models/id/tenant-id'; import { CustomerId } from '@shared/models/id/customer-id'; +import { DomainId } from '@shared/models/id/domain-id'; export interface Favicon { url?: string; } @@ -31,7 +32,7 @@ export interface WhiteLabelingParams { export interface LoginWhiteLabelingParams extends WhiteLabelingParams { pageBackgroundColor?: string; darkForeground?: boolean; - domainName?: string; + domainId?: DomainId; baseUrl?: string; adminSettingsId?: string; showNameBottom?: boolean; diff --git a/src/app/shared/models/widget.models.d.ts b/src/app/shared/models/widget.models.d.ts index c193b640..382c5311 100644 --- a/src/app/shared/models/widget.models.d.ts +++ b/src/app/shared/models/widget.models.d.ts @@ -20,6 +20,7 @@ import { ComponentStyle, Font, TimewindowStyle } from '@shared/models/widget-set import { HasTenantId, HasVersion } from '@shared/models/entity.models'; import { DataKeysCallbacks, DataKeySettingsFunction } from '@home/components/widget/config/data-keys.component.models'; import { WidgetConfigCallbacks } from '@home/components/widget/config/widget-config.component.models'; +import { TbFunction } from '@shared/models/js-function.models'; import * as i0 from "@angular/core"; export declare enum widgetType { timeseries = "timeseries", @@ -56,7 +57,7 @@ export interface WidgetTypeDescriptor { resources: Array; templateHtml: string; templateCss: string; - controllerScript: string; + controllerScript: TbFunction; settingsSchema?: string | any; dataKeySettingsSchema?: string | any; latestDataKeySettingsSchema?: string | any; @@ -126,6 +127,7 @@ export interface WidgetTypeDetails extends WidgetType, ExportableEntity; } export declare enum DeprecatedFilter { ALL = "ALL", @@ -171,8 +173,8 @@ export interface KeyInfo { comparisonResultType?: ComparisonResultType; label?: string; color?: string; - funcBody?: string; - postFuncBody?: string; + funcBody?: TbFunction; + postFuncBody?: TbFunction; units?: string; decimals?: number; } @@ -342,31 +344,31 @@ export interface WidgetMobileActionResult { hasError: boolean; } export interface ProcessImageDescriptor { - processImageFunction: string; + processImageFunction: TbFunction; } export interface ProcessLaunchResultDescriptor { - processLaunchResultFunction?: string; + processLaunchResultFunction?: TbFunction; } export interface LaunchMapDescriptor extends ProcessLaunchResultDescriptor { - getLocationFunction: string; + getLocationFunction: TbFunction; } export interface ScanQrCodeDescriptor { - processQrCodeFunction: string; + processQrCodeFunction: TbFunction; } export interface MakePhoneCallDescriptor extends ProcessLaunchResultDescriptor { - getPhoneNumberFunction: string; + getPhoneNumberFunction: TbFunction; } export interface GetLocationDescriptor { - processLocationFunction: string; + processLocationFunction: TbFunction; } export type WidgetMobileActionDescriptors = ProcessImageDescriptor & LaunchMapDescriptor & ScanQrCodeDescriptor & MakePhoneCallDescriptor & GetLocationDescriptor; export interface WidgetMobileActionDescriptor extends WidgetMobileActionDescriptors { type: WidgetMobileActionType; - handleErrorFunction?: string; - handleEmptyResultFunction?: string; + handleErrorFunction?: TbFunction; + handleEmptyResultFunction?: TbFunction; } export interface CustomActionDescriptor { - customFunction?: string; + customFunction?: TbFunction; customResources?: Array; customHtml?: string; customCss?: string; @@ -403,7 +405,7 @@ export interface WidgetActionDescriptor extends WidgetAction { icon: string; displayName?: string; useShowWidgetActionFunction?: boolean; - showWidgetActionFunction?: string; + showWidgetActionFunction?: TbFunction; columnIndex?: number; } export declare const actionDescriptorToAction: (descriptor: WidgetActionDescriptor) => WidgetAction; diff --git a/src/app/shared/pipe/duration-left.pipe.d.ts b/src/app/shared/pipe/duration-left.pipe.d.ts new file mode 100644 index 00000000..8be84478 --- /dev/null +++ b/src/app/shared/pipe/duration-left.pipe.d.ts @@ -0,0 +1,12 @@ +import { PipeTransform } from '@angular/core'; +import { TranslateService } from '@ngx-translate/core'; +import { MillisecondsToTimeStringPipe } from './milliseconds-to-time-string.pipe'; +import * as i0 from "@angular/core"; +export declare class DurationLeftPipe implements PipeTransform { + private translate; + private millisecondsToTimeString; + constructor(translate: TranslateService, millisecondsToTimeString: MillisecondsToTimeStringPipe); + transform(untilTimestamp: number, shortFormat?: boolean, onlyFirstDigit?: boolean): string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} diff --git a/src/app/shared/pipe/milliseconds-to-time-string.pipe.d.ts b/src/app/shared/pipe/milliseconds-to-time-string.pipe.d.ts index 42c84d2c..7ab70f57 100644 --- a/src/app/shared/pipe/milliseconds-to-time-string.pipe.d.ts +++ b/src/app/shared/pipe/milliseconds-to-time-string.pipe.d.ts @@ -4,7 +4,9 @@ import * as i0 from "@angular/core"; export declare class MillisecondsToTimeStringPipe implements PipeTransform { private translate; constructor(translate: TranslateService); - transform(millseconds: number, shortFormat?: boolean): string; + transform(milliSeconds: number, shortFormat?: boolean, onlyFirstDigit?: boolean): string; + private extractTimeUnits; + private formatTimeString; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵpipe: i0.ɵɵPipeDeclaration; } diff --git a/src/app/shared/pipe/public-api.d.ts b/src/app/shared/pipe/public-api.d.ts index 4108e25a..1ef3d48a 100644 --- a/src/app/shared/pipe/public-api.d.ts +++ b/src/app/shared/pipe/public-api.d.ts @@ -9,3 +9,4 @@ export * from './file-size.pipe'; export * from './selectable-columns.pipe'; export * from './image.pipe'; export * from './key-value-not-empty.pipe'; +export * from './duration-left.pipe'; diff --git a/src/app/shared/shared.module.d.ts b/src/app/shared/shared.module.d.ts index 03be30fd..83c8b96b 100644 --- a/src/app/shared/shared.module.d.ts +++ b/src/app/shared/shared.module.d.ts @@ -24,189 +24,196 @@ import * as i21 from "@shared/components/time/timewindow.component"; import * as i22 from "@shared/components/time/timewindow-panel.component"; import * as i23 from "@shared/components/time/timewindow-config-dialog.component"; import * as i24 from "@shared/components/time/timeinterval.component"; -import * as i25 from "@shared/components/time/timezone.component"; -import * as i26 from "@shared/components/time/timezone-panel.component"; -import * as i27 from "@shared/components/time/quick-time-interval.component"; -import * as i28 from "@shared/components/time/datapoints-limit.component"; -import * as i29 from "@shared/components/dashboard-select.component"; -import * as i30 from "@shared/components/dashboard-select-panel.component"; -import * as i31 from "@shared/components/time/datetime-period.component"; -import * as i32 from "@shared/components/time/datetime.component"; -import * as i33 from "@shared/components/time/timezone-select.component"; -import * as i34 from "@shared/components/value-input.component"; -import * as i35 from "@shared/components/dashboard-autocomplete.component"; -import * as i36 from "@shared/components/dashboard-state-autocomplete.component"; -import * as i37 from "@shared/components/entity/entity-subtype-autocomplete.component"; -import * as i38 from "@shared/components/entity/entity-subtype-select.component"; -import * as i39 from "@shared/components/entity/entity-subtype-list.component"; -import * as i40 from "@shared/components/entity/entity-autocomplete.component"; -import * as i41 from "@shared/components/entity/entity-list.component"; -import * as i42 from "@shared/components/entity/entity-type-select.component"; -import * as i43 from "@shared/components/entity/entity-select.component"; -import * as i44 from "@shared/components/group/entity-group-autocomplete.component"; -import * as i45 from "@shared/components/group/owner-autocomplete.component"; -import * as i46 from "@shared/components/group/entity-group-select.component"; -import * as i47 from "@shared/components/group/entity-group-list.component"; -import * as i48 from "@shared/components/group/edge-entity-group-list.component"; -import * as i49 from "@shared/components/originator-select.component"; -import * as i50 from "@shared/components/entity/entity-keys-list.component"; -import * as i51 from "@shared/components/entity/entity-list-select.component"; -import * as i52 from "@shared/components/entity/entity-type-list.component"; -import * as i53 from "@shared/components/queue/queue-autocomplete.component"; -import * as i54 from "@shared/components/relation/relation-type-autocomplete.component"; -import * as i55 from "@shared/components/socialshare-panel.component"; -import * as i56 from "@shared/components/string-items-list.component"; -import * as i57 from "@shared/components/json-object-edit.component"; -import * as i58 from "@shared/components/json-object-view.component"; -import * as i59 from "@shared/components/json-content.component"; -import * as i60 from "@shared/components/js-func.component"; -import * as i61 from "@shared/components/css.component"; -import * as i62 from "@shared/components/html.component"; -import * as i63 from "@shared/components/svg-xml.component"; -import * as i64 from "@shared/components/fab-toolbar.component"; -import * as i65 from "@shared/components/widgets-bundle-select.component"; -import * as i66 from "@shared/components/dialog/confirm-dialog.component"; -import * as i67 from "@shared/components/dialog/alert-dialog.component"; -import * as i68 from "@shared/components/dialog/error-alert-dialog.component"; -import * as i69 from "@shared/components/dialog/progress-dialog.component"; -import * as i70 from "@shared/components/dialog/todo-dialog.component"; -import * as i71 from "@shared/components/dialog/color-picker-dialog.component"; -import * as i72 from "@shared/components/dialog/material-icons-dialog.component"; -import * as i73 from "@shared/components/color-input.component"; -import * as i74 from "@shared/components/material-icon-select.component"; -import * as i75 from "@shared/components/dialog/node-script-test-dialog.component"; -import * as i76 from "@shared/components/json-form/json-form.component"; -import * as i77 from "@shared/components/image-input.component"; -import * as i78 from "@shared/components/multiple-image-input.component"; -import * as i79 from "@shared/components/file-input.component"; -import * as i80 from "@shared/components/message-type-autocomplete.component"; -import * as i81 from "@shared/components/kv-map.component"; -import * as i82 from "@shared/components/nav-tree.component"; -import * as i83 from "@shared/components/led-light.component"; -import * as i84 from "@shared/components/markdown-editor.component"; -import * as i85 from "@shared/directives/truncate-with-tooltip.directive"; -import * as i86 from "@shared/directives/context-menu.directive"; -import * as i87 from "@shared/pipe/nospace.pipe"; -import * as i88 from "@shared/pipe/milliseconds-to-time-string.pipe"; -import * as i89 from "@shared/pipe/enum-to-array.pipe"; -import * as i90 from "@shared/pipe/highlight.pipe"; -import * as i91 from "@shared/pipe/truncate.pipe"; -import * as i92 from "@shared/pipe/tbJson.pipe"; -import * as i93 from "@shared/pipe/file-size.pipe"; -import * as i94 from "@shared/pipe/date-ago.pipe"; -import * as i95 from "@shared/pipe/image.pipe"; -import * as i96 from "@shared/pipe/custom-translate.pipe"; -import * as i97 from "@shared/pipe/safe.pipe"; -import * as i98 from "@shared/pipe/short-number.pipe"; -import * as i99 from "@shared/pipe/selectable-columns.pipe"; -import * as i100 from "@shared/pipe/keyboard-shortcut.pipe"; -import * as i101 from "@shared/pipe/permission.pipes"; -import * as i102 from "@shared/components/directives/tb-json-to-string.directive"; -import * as i103 from "@shared/components/dialog/json-object-edit-dialog.component"; -import * as i104 from "@shared/components/time/history-selector/history-selector.component"; -import * as i105 from "@shared/components/entity/entity-gateway-select.component"; -import * as i106 from "@shared/components/contact.component"; -import * as i107 from "@shared/components/widgets-bundle-search.component"; -import * as i108 from "@shared/components/role/group-permissions.component"; -import * as i109 from "@shared/components/role/group-permission-dialog.component"; -import * as i110 from "./components/group/share-entity-group.component"; -import * as i111 from "@shared/components/ota-package/ota-package-autocomplete.component"; -import * as i112 from "@shared/components/button/copy-button.component"; -import * as i113 from "@shared/components/button/toggle-password.component"; -import * as i114 from "@shared/components/protobuf-content.component"; -import * as i115 from "@shared/components/vc/branch-autocomplete.component"; -import * as i116 from "@shared/components/country-autocomplete.component"; -import * as i117 from "@shared/components/phone-input.component"; -import * as i118 from "./components/spark-line/tb-spark-line.component"; -import * as i119 from "@shared/components/script-lang.component"; -import * as i120 from "@shared/components/notification/notification.component"; -import * as i121 from "@shared/components/notification/template-autocomplete.component"; -import * as i122 from "@shared/components/slack-conversation-autocomplete.component"; -import * as i123 from "@shared/components/theme-color-select.component"; -import * as i124 from "@shared/components/color-picker/color-picker.component"; -import * as i125 from "@shared/components/color-picker/color-picker-panel.component"; -import * as i126 from "@shared/components/resource/resource-autocomplete.component"; -import * as i127 from "@shared/components/toggle-header.component"; -import * as i128 from "@shared/components/toggle-select.component"; -import * as i129 from "@shared/components/unit-input.component"; -import * as i130 from "@shared/components/string-autocomplete.component"; -import * as i131 from "@shared/components/material-icons.component"; -import * as i132 from "@shared/components/rule-chain/rule-chain-select.component"; -import * as i133 from "@shared/components/rule-chain/rule-chain-select-panel.component"; -import * as i134 from "@shared/components/icon.component"; -import * as i135 from "@shared/components/hint-tooltip-icon.component"; -import * as i136 from "@shared/import-export/import-dialog.component"; -import * as i137 from "@shared/import-export/import-dialog-csv.component"; -import * as i138 from "@shared/import-export/export-widgets-bundle-dialog.component"; -import * as i139 from "@shared/import-export/table-columns-assignment.component"; -import * as i140 from "@shared/components/grid/scroll-grid.component"; -import * as i141 from "@shared/components/image/image-gallery.component"; -import * as i142 from "@shared/components/image/upload-image-dialog.component"; -import * as i143 from "@shared/components/image/image-dialog.component"; -import * as i144 from "@shared/components/image/image-references.component"; -import * as i145 from "@shared/components/image/images-in-use-dialog.component"; -import * as i146 from "@shared/components/image/gallery-image-input.component"; -import * as i147 from "@shared/components/image/multiple-gallery-image-input.component"; -import * as i148 from "@shared/components/image/embed-image-dialog.component"; -import * as i149 from "@shared/components/image/image-gallery-dialog.component"; -import * as i150 from "@shared/components/button/widget-button.component"; -import * as i151 from "@shared/components/color-picker/hex-input.component"; -import * as i152 from "@shared/components/image/scada-symbol-input.component"; -import * as i153 from "@shared/components/custom-menu-autocomplete.component"; -import * as i154 from "@angular/common"; -import * as i155 from "@angular/router"; -import * as i156 from "@ngx-translate/core"; -import * as i157 from "@angular/material/badge"; -import * as i158 from "@angular/material/button"; -import * as i159 from "@angular/material/button-toggle"; -import * as i160 from "@angular/material/checkbox"; -import * as i161 from "@angular/material/icon"; -import * as i162 from "@angular/material/card"; -import * as i163 from "@angular/material/progress-bar"; -import * as i164 from "@angular/material/input"; -import * as i165 from "@angular/material/snack-bar"; -import * as i166 from "@angular/material/sidenav"; -import * as i167 from "@angular/material/toolbar"; -import * as i168 from "@angular/material/menu"; -import * as i169 from "@angular/material/grid-list"; -import * as i170 from "@angular/material/dialog"; -import * as i171 from "@angular/material/select"; -import * as i172 from "@angular/material/tooltip"; -import * as i173 from "@angular/material/table"; -import * as i174 from "@angular/material/paginator"; -import * as i175 from "@angular/material/sort"; -import * as i176 from "@angular/material/progress-spinner"; -import * as i177 from "@angular/material/divider"; -import * as i178 from "@angular/material/tabs"; -import * as i179 from "@angular/material/radio"; -import * as i180 from "@angular/material/slide-toggle"; -import * as i181 from "@angular/material/datepicker"; -import * as i182 from "@mat-datetimepicker/core"; -import * as i183 from "ngx-daterangepicker-material"; -import * as i184 from "@angular/material/slider"; -import * as i185 from "@angular/material/expansion"; -import * as i186 from "@angular/material/stepper"; -import * as i187 from "@angular/material/autocomplete"; -import * as i188 from "@angular/material/chips"; -import * as i189 from "@angular/material/list"; -import * as i190 from "@angular/cdk/drag-drop"; -import * as i191 from "angular-gridster2"; -import * as i192 from "ngx-clipboard"; -import * as i193 from "@angular/forms"; -import * as i194 from "@angular/cdk/overlay"; -import * as i195 from "ngx-sharebuttons"; -import * as i196 from "angular2-hotkeys"; -import * as i197 from "@iplab/ngx-color-picker"; -import * as i198 from "@fullcalendar/angular"; -import * as i199 from "ngx-hm-carousel"; -import * as i200 from "ngx-drag-drop"; -import * as i201 from "@flowjs/ngx-flow"; -import * as i202 from "ngx-flowchart"; -import * as i203 from "ngx-markdown"; -import * as i204 from "@tinymce/tinymce-angular"; +import * as i25 from "@shared/components/time/aggregation/grouping-interval-options.component"; +import * as i26 from "@shared/components/time/timezone.component"; +import * as i27 from "@shared/components/time/timezone-panel.component"; +import * as i28 from "@shared/components/time/quick-time-interval.component"; +import * as i29 from "@shared/components/time/datapoints-limit.component"; +import * as i30 from "@shared/components/time/aggregation/aggregation-type-select.component"; +import * as i31 from "@shared/components/time/aggregation/aggregation-options-config-panel.component"; +import * as i32 from "@shared/components/time/interval-options-config-panel.component"; +import * as i33 from "@shared/components/dashboard-select.component"; +import * as i34 from "@shared/components/dashboard-select-panel.component"; +import * as i35 from "@shared/components/time/datetime-period.component"; +import * as i36 from "@shared/components/time/datetime.component"; +import * as i37 from "@shared/components/time/timezone-select.component"; +import * as i38 from "@shared/components/value-input.component"; +import * as i39 from "@shared/components/dashboard-autocomplete.component"; +import * as i40 from "@shared/components/dashboard-state-autocomplete.component"; +import * as i41 from "@shared/components/entity/entity-subtype-autocomplete.component"; +import * as i42 from "@shared/components/entity/entity-subtype-select.component"; +import * as i43 from "@shared/components/entity/entity-subtype-list.component"; +import * as i44 from "@shared/components/entity/entity-autocomplete.component"; +import * as i45 from "@shared/components/entity/entity-list.component"; +import * as i46 from "@shared/components/entity/entity-type-select.component"; +import * as i47 from "@shared/components/entity/entity-select.component"; +import * as i48 from "@shared/components/group/entity-group-autocomplete.component"; +import * as i49 from "@shared/components/group/owner-autocomplete.component"; +import * as i50 from "@shared/components/group/entity-group-select.component"; +import * as i51 from "@shared/components/group/entity-group-list.component"; +import * as i52 from "@shared/components/group/edge-entity-group-list.component"; +import * as i53 from "@shared/components/originator-select.component"; +import * as i54 from "@shared/components/entity/entity-keys-list.component"; +import * as i55 from "@shared/components/entity/entity-list-select.component"; +import * as i56 from "@shared/components/entity/entity-type-list.component"; +import * as i57 from "@shared/components/queue/queue-autocomplete.component"; +import * as i58 from "@shared/components/relation/relation-type-autocomplete.component"; +import * as i59 from "@shared/components/socialshare-panel.component"; +import * as i60 from "@shared/components/string-items-list.component"; +import * as i61 from "@shared/components/json-object-edit.component"; +import * as i62 from "@shared/components/json-object-view.component"; +import * as i63 from "@shared/components/json-content.component"; +import * as i64 from "@shared/components/js-func.component"; +import * as i65 from "@shared/components/js-func-modules.component"; +import * as i66 from "@shared/components/js-func-module-row.component"; +import * as i67 from "@shared/components/css.component"; +import * as i68 from "@shared/components/html.component"; +import * as i69 from "@shared/components/svg-xml.component"; +import * as i70 from "@shared/components/fab-toolbar.component"; +import * as i71 from "@shared/components/widgets-bundle-select.component"; +import * as i72 from "@shared/components/dialog/confirm-dialog.component"; +import * as i73 from "@shared/components/dialog/alert-dialog.component"; +import * as i74 from "@shared/components/dialog/error-alert-dialog.component"; +import * as i75 from "@shared/components/dialog/progress-dialog.component"; +import * as i76 from "@shared/components/dialog/todo-dialog.component"; +import * as i77 from "@shared/components/dialog/color-picker-dialog.component"; +import * as i78 from "@shared/components/dialog/material-icons-dialog.component"; +import * as i79 from "@shared/components/color-input.component"; +import * as i80 from "@shared/components/material-icon-select.component"; +import * as i81 from "@shared/components/dialog/node-script-test-dialog.component"; +import * as i82 from "@shared/components/json-form/json-form.component"; +import * as i83 from "@shared/components/image-input.component"; +import * as i84 from "@shared/components/multiple-image-input.component"; +import * as i85 from "@shared/components/file-input.component"; +import * as i86 from "@shared/components/message-type-autocomplete.component"; +import * as i87 from "@shared/components/kv-map.component"; +import * as i88 from "@shared/components/nav-tree.component"; +import * as i89 from "@shared/components/led-light.component"; +import * as i90 from "@shared/components/markdown-editor.component"; +import * as i91 from "@shared/directives/truncate-with-tooltip.directive"; +import * as i92 from "@shared/directives/context-menu.directive"; +import * as i93 from "@shared/pipe/nospace.pipe"; +import * as i94 from "@shared/pipe/milliseconds-to-time-string.pipe"; +import * as i95 from "@shared/pipe/enum-to-array.pipe"; +import * as i96 from "@shared/pipe/highlight.pipe"; +import * as i97 from "@shared/pipe/truncate.pipe"; +import * as i98 from "@shared/pipe/tbJson.pipe"; +import * as i99 from "@shared/pipe/file-size.pipe"; +import * as i100 from "@shared/pipe/date-ago.pipe"; +import * as i101 from "@shared/pipe/image.pipe"; +import * as i102 from "@shared/pipe/custom-translate.pipe"; +import * as i103 from "@shared/pipe/safe.pipe"; +import * as i104 from "@shared/pipe/short-number.pipe"; +import * as i105 from "@shared/pipe/selectable-columns.pipe"; +import * as i106 from "@shared/pipe/keyboard-shortcut.pipe"; +import * as i107 from "@shared/pipe/permission.pipes"; +import * as i108 from "@shared/components/directives/tb-json-to-string.directive"; +import * as i109 from "@shared/components/dialog/json-object-edit-dialog.component"; +import * as i110 from "@shared/components/time/history-selector/history-selector.component"; +import * as i111 from "@shared/components/entity/entity-gateway-select.component"; +import * as i112 from "@shared/components/contact.component"; +import * as i113 from "@shared/components/widgets-bundle-search.component"; +import * as i114 from "@shared/components/role/group-permissions.component"; +import * as i115 from "@shared/components/role/group-permission-dialog.component"; +import * as i116 from "./components/group/share-entity-group.component"; +import * as i117 from "@shared/components/ota-package/ota-package-autocomplete.component"; +import * as i118 from "@shared/components/button/copy-button.component"; +import * as i119 from "@shared/components/button/toggle-password.component"; +import * as i120 from "@shared/components/button/widget-button-toggle.component"; +import * as i121 from "@shared/components/protobuf-content.component"; +import * as i122 from "@shared/components/vc/branch-autocomplete.component"; +import * as i123 from "@shared/components/country-autocomplete.component"; +import * as i124 from "@shared/components/phone-input.component"; +import * as i125 from "./components/spark-line/tb-spark-line.component"; +import * as i126 from "@shared/components/script-lang.component"; +import * as i127 from "@shared/components/notification/notification.component"; +import * as i128 from "@shared/components/notification/template-autocomplete.component"; +import * as i129 from "@shared/components/slack-conversation-autocomplete.component"; +import * as i130 from "@shared/components/theme-color-select.component"; +import * as i131 from "@shared/components/color-picker/color-picker.component"; +import * as i132 from "@shared/components/color-picker/color-picker-panel.component"; +import * as i133 from "@shared/components/resource/resource-autocomplete.component"; +import * as i134 from "@shared/components/toggle-header.component"; +import * as i135 from "@shared/components/toggle-select.component"; +import * as i136 from "@shared/components/unit-input.component"; +import * as i137 from "@shared/components/string-autocomplete.component"; +import * as i138 from "@shared/components/material-icons.component"; +import * as i139 from "@shared/components/rule-chain/rule-chain-select.component"; +import * as i140 from "@shared/components/rule-chain/rule-chain-select-panel.component"; +import * as i141 from "@shared/components/icon.component"; +import * as i142 from "@shared/components/hint-tooltip-icon.component"; +import * as i143 from "@shared/import-export/import-dialog.component"; +import * as i144 from "@shared/import-export/import-dialog-csv.component"; +import * as i145 from "@shared/import-export/export-resource-dialog.component"; +import * as i146 from "@shared/import-export/table-columns-assignment.component"; +import * as i147 from "@shared/components/grid/scroll-grid.component"; +import * as i148 from "@shared/components/image/image-gallery.component"; +import * as i149 from "@shared/components/image/upload-image-dialog.component"; +import * as i150 from "@shared/components/image/image-dialog.component"; +import * as i151 from "@shared/components/image/image-references.component"; +import * as i152 from "@shared/components/image/images-in-use-dialog.component"; +import * as i153 from "@shared/components/image/gallery-image-input.component"; +import * as i154 from "@shared/components/image/multiple-gallery-image-input.component"; +import * as i155 from "@shared/components/image/embed-image-dialog.component"; +import * as i156 from "@shared/components/image/image-gallery-dialog.component"; +import * as i157 from "@shared/components/button/widget-button.component"; +import * as i158 from "@shared/components/color-picker/hex-input.component"; +import * as i159 from "@shared/components/image/scada-symbol-input.component"; +import * as i160 from "@shared/components/custom-menu-autocomplete.component"; +import * as i161 from "@angular/common"; +import * as i162 from "@angular/router"; +import * as i163 from "@ngx-translate/core"; +import * as i164 from "@angular/material/badge"; +import * as i165 from "@angular/material/button"; +import * as i166 from "@angular/material/button-toggle"; +import * as i167 from "@angular/material/checkbox"; +import * as i168 from "@angular/material/icon"; +import * as i169 from "@angular/material/card"; +import * as i170 from "@angular/material/progress-bar"; +import * as i171 from "@angular/material/input"; +import * as i172 from "@angular/material/snack-bar"; +import * as i173 from "@angular/material/sidenav"; +import * as i174 from "@angular/material/toolbar"; +import * as i175 from "@angular/material/menu"; +import * as i176 from "@angular/material/grid-list"; +import * as i177 from "@angular/material/dialog"; +import * as i178 from "@angular/material/select"; +import * as i179 from "@angular/material/tooltip"; +import * as i180 from "@angular/material/table"; +import * as i181 from "@angular/material/paginator"; +import * as i182 from "@angular/material/sort"; +import * as i183 from "@angular/material/progress-spinner"; +import * as i184 from "@angular/material/divider"; +import * as i185 from "@angular/material/tabs"; +import * as i186 from "@angular/material/radio"; +import * as i187 from "@angular/material/slide-toggle"; +import * as i188 from "@angular/material/datepicker"; +import * as i189 from "@mat-datetimepicker/core"; +import * as i190 from "ngx-daterangepicker-material"; +import * as i191 from "@angular/material/slider"; +import * as i192 from "@angular/material/expansion"; +import * as i193 from "@angular/material/stepper"; +import * as i194 from "@angular/material/autocomplete"; +import * as i195 from "@angular/material/chips"; +import * as i196 from "@angular/material/list"; +import * as i197 from "@angular/cdk/drag-drop"; +import * as i198 from "angular-gridster2"; +import * as i199 from "ngx-clipboard"; +import * as i200 from "@angular/forms"; +import * as i201 from "@angular/cdk/overlay"; +import * as i202 from "ngx-sharebuttons"; +import * as i203 from "angular2-hotkeys"; +import * as i204 from "@iplab/ngx-color-picker"; +import * as i205 from "@fullcalendar/angular"; +import * as i206 from "ngx-hm-carousel"; +import * as i207 from "ngx-drag-drop"; +import * as i208 from "@flowjs/ngx-flow"; +import * as i209 from "ngx-flowchart"; +import * as i210 from "ngx-markdown"; +import * as i211 from "@tinymce/tinymce-angular"; export declare function MarkedOptionsFactory(markedOptionsService: MarkedOptionsService): MarkedOptionsService; export declare class SharedModule { static ɵfac: i0.ɵɵFactoryDeclaration; - static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } diff --git a/src/styles.css b/src/styles.css index 62fe2a8d..95d65a58 100644 --- a/src/styles.css +++ b/src/styles.css @@ -1 +1 @@ -*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.\!container{width:100%!important}.container{width:100%}@media (min-width:600px){.\!container{max-width:600px!important}.container{max-width:600px}}@media (min-width:960px){.\!container{max-width:960px!important}.container{max-width:960px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1600px){.\!container{max-width:1600px!important}.container{max-width:1600px}}@media (min-width:1820px){.\!container{max-width:1820px!important}.container{max-width:1820px}}@media (min-width:1920px){.\!container{max-width:1920px!important}.container{max-width:1920px}}.tb-default .\!visible{visibility:visible!important}.tb-default .visible{visibility:visible}.tb-default .invisible{visibility:hidden}.tb-default .collapse{visibility:collapse}.tb-default .static{position:static}.tb-default .fixed{position:fixed}.tb-default .absolute{position:absolute}.tb-default .relative{position:relative}.tb-default .sticky{position:sticky}.tb-default .mb-3\.5{margin-bottom:.875rem}.tb-default .block{display:block}.tb-default .inline-block{display:inline-block}.tb-default .\!inline{display:inline!important}.tb-default .inline{display:inline}.tb-default .\!flex{display:flex!important}.tb-default .flex{display:flex}.tb-default .inline-flex{display:inline-flex}.tb-default .table{display:table}.tb-default .grid{display:grid}.tb-default .contents{display:contents}.tb-default .\!hidden{display:none!important}.tb-default .hidden{display:none}.tb-default .size-full{width:100%;height:100%}.tb-default .h-full{height:100%}.tb-default .max-h-100\%{max-height:100%}.tb-default .max-h-20{max-height:5rem}.tb-default .max-h-20\%{max-height:20%}.tb-default .max-h-30\%{max-height:30%}.tb-default .max-h-70\%{max-height:70%}.tb-default .max-h-80{max-height:20rem}.tb-default .max-h-80\%{max-height:80%}.tb-default .min-h-19{min-height:4.75rem}.tb-default .w-10{width:2.5rem}.tb-default .w-20{width:5rem}.tb-default .w-full{width:100%}.tb-default .min-w-10{min-width:2.5rem}.tb-default .min-w-20{min-width:5rem}.tb-default .min-w-32{min-width:8rem}.tb-default .min-w-7\.5{min-width:1.875rem}.tb-default .min-w-72\.5{min-width:18.125rem}.tb-default .max-w-10{max-width:2.5rem}.tb-default .max-w-10\%{max-width:10%}.tb-default .max-w-15\%{max-width:15%}.tb-default .max-w-17\%{max-width:17%}.tb-default .max-w-20{max-width:5rem}.tb-default .max-w-20\%{max-width:20%}.tb-default .max-w-23\%{max-width:23%}.tb-default .max-w-26\%{max-width:26%}.tb-default .max-w-30\%{max-width:30%}.tb-default .max-w-32{max-width:8rem}.tb-default .max-w-33\%{max-width:33%}.tb-default .max-w-35\%{max-width:35%}.tb-default .max-w-37\%{max-width:37%}.tb-default .max-w-40{max-width:10rem}.tb-default .max-w-40\%{max-width:40%}.tb-default .max-w-45\%{max-width:45%}.tb-default .max-w-5{max-width:1.25rem}.tb-default .max-w-5\%{max-width:5%}.tb-default .max-w-50\%{max-width:50%}.tb-default .max-w-60{max-width:15rem}.tb-default .max-w-60\%{max-width:60%}.tb-default .max-w-7\.5{max-width:1.875rem}.tb-default .max-w-70\%{max-width:70%}.tb-default .max-w-72\.5{max-width:18.125rem}.tb-default .max-w-8{max-width:2rem}.tb-default .max-w-8\%{max-width:8%}.tb-default .max-w-85\%{max-width:85%}.tb-default .max-w-92\%{max-width:92%}.tb-default .max-w-95\%{max-width:95%}.tb-default .flex-1{flex:1 1 0%}.tb-default .flex-auto{flex:1 1 auto}.tb-default .flex-full{flex:1 1 100%}.tb-default .flex-initial{flex:0 1 auto}.tb-default .shrink{flex-shrink:1}.tb-default .grow{flex-grow:1}.tb-default .basis-20{flex-basis:5rem}.tb-default .basis-32{flex-basis:8rem}.tb-default .basis-7\.5{flex-basis:1.875rem}.tb-default .basis-72\.5{flex-basis:18.125rem}.tb-default .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.tb-default .cursor-pointer{cursor:pointer}.tb-default .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.tb-default .resize{resize:both}.tb-default .flex-row{flex-direction:row}.tb-default .flex-col{flex-direction:column}.tb-default .flex-wrap{flex-wrap:wrap}.tb-default .items-start{align-items:flex-start}.tb-default .items-end{align-items:flex-end}.tb-default .items-center{align-items:center}.tb-default .items-stretch{align-items:stretch}.tb-default .justify-start{justify-content:flex-start}.tb-default .justify-end{justify-content:flex-end}.tb-default .justify-center{justify-content:center}.tb-default .justify-between{justify-content:space-between}.tb-default .justify-evenly{justify-content:space-evenly}.tb-default .gap-0{gap:0}.tb-default .gap-0\.5{gap:.125rem}.tb-default .gap-1{gap:.25rem}.tb-default .gap-1\.5{gap:.375rem}.tb-default .gap-10{gap:2.5rem}.tb-default .gap-2{gap:.5rem}.tb-default .gap-2\.5{gap:.625rem}.tb-default .gap-3{gap:.75rem}.tb-default .gap-3\.75{gap:.9375rem}.tb-default .gap-4{gap:1rem}.tb-default .gap-5{gap:1.25rem}.tb-default .gap-6{gap:1.5rem}.tb-default .gap-6\.25{gap:1.5625rem}.tb-default .gap-7{gap:1.75rem}.tb-default .self-start{align-self:flex-start}.tb-default .overflow-auto{overflow:auto}.tb-default .overflow-hidden{overflow:hidden}.tb-default .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-default .border{border-width:1px}.tb-default .pb-0{padding-bottom:0}.tb-default .pb-2{padding-bottom:.5rem}.tb-default .pb-3{padding-bottom:.75rem}.tb-default .pb-4{padding-bottom:1rem}.tb-default .uppercase{text-transform:uppercase}.tb-default .lowercase{text-transform:lowercase}.tb-default .italic{font-style:italic}.tb-default .ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tb-default .shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.tb-default .outline{outline-style:solid}.tb-default .blur{--tw-blur:blur(8px)}.tb-default .blur,.tb-default .drop-shadow{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.tb-default .drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f)}.tb-default .\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.tb-default .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.tb-default .backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.tb-default .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.tb-default .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.tb-default .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.tb-default .ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@media (max-width:599px){.tb-default .xs\:flex{display:flex}.tb-default .xs\:\!hidden{display:none!important}.tb-default .xs\:max-h-30\%{max-height:30%}.tb-default .xs\:max-h-50\%{max-height:50%}.tb-default .xs\:max-h-60{max-height:15rem}.tb-default .xs\:max-h-60\%{max-height:60%}.tb-default .xs\:max-h-70\%{max-height:70%}.tb-default .xs\:min-w-0{min-width:0}.tb-default .xs\:max-w-full{max-width:100%}.tb-default .xs\:flex-1{flex:1 1 0%}.tb-default .xs\:basis-full{flex-basis:100%}.tb-default .xs\:flex-row{flex-direction:row}.tb-default .xs\:flex-col{flex-direction:column}.tb-default .xs\:flex-wrap{flex-wrap:wrap}.tb-default .xs\:items-start{align-items:flex-start}.tb-default .xs\:items-end{align-items:flex-end}.tb-default .xs\:items-stretch{align-items:stretch}.tb-default .xs\:justify-start{justify-content:flex-start}.tb-default .xs\:justify-end{justify-content:flex-end}.tb-default .xs\:justify-center{justify-content:center}.tb-default .xs\:gap-0{gap:0}.tb-default .xs\:gap-2{gap:.5rem}.tb-default .xs\:gap-3{gap:.75rem}.tb-default .xs\:gap-4{gap:1rem}.tb-default .xs\:p-0{padding:0}}@media (min-width:600px) and (max-width:959px){.tb-default .sm\:\!hidden{display:none!important}.tb-default .sm\:min-w-25{min-width:6.25rem}.tb-default .sm\:min-w-37\.5{min-width:9.375rem}.tb-default .sm\:min-w-62\.5{min-width:15.625rem}.tb-default .sm\:max-w-25{max-width:6.25rem}.tb-default .sm\:max-w-37\.5{max-width:9.375rem}.tb-default .sm\:max-w-60{max-width:15rem}.tb-default .sm\:max-w-60\%{max-width:60%}.tb-default .sm\:max-w-62\.5{max-width:15.625rem}.tb-default .sm\:flex-1{flex:1 1 0%}.tb-default .sm\:flex-full{flex:1 1 100%}.tb-default .sm\:basis-25{flex-basis:6.25rem}.tb-default .sm\:basis-37\.5{flex-basis:9.375rem}.tb-default .sm\:basis-62\.5{flex-basis:15.625rem}.tb-default .sm\:gap-2{gap:.5rem}}@media (min-width:960px) and (max-width:1279px){.tb-default .md\:\!hidden{display:none!important}.tb-default .md\:min-w-25{min-width:6.25rem}.tb-default .md\:min-w-37\.5{min-width:9.375rem}.tb-default .md\:max-w-25{max-width:6.25rem}.tb-default .md\:max-w-37\.5{max-width:9.375rem}.tb-default .md\:max-w-full{max-width:100%}.tb-default .md\:flex-1{flex:1 1 0%}.tb-default .md\:basis-25{flex-basis:6.25rem}.tb-default .md\:basis-37\.5{flex-basis:9.375rem}.tb-default .md\:flex-col{flex-direction:column}.tb-default .md\:gap-0{gap:0}}@media (min-width:960px) and (max-width:1819px){.tb-default .md-lg\:\!hidden{display:none!important}}@media (min-width:1280px) and (max-width:1919px){.tb-default .lg\:gap-1\.5{gap:.375rem}}@media (max-width:599px){.tb-default .lt-sm\:\!hidden{display:none!important}.tb-default .lt-sm\:flex-full{flex:1 1 100%}.tb-default .lt-sm\:items-center{align-items:center}.tb-default .lt-sm\:justify-between{justify-content:space-between}}@media (max-width:959px){.tb-default .lt-md\:\!hidden{display:none!important}.tb-default .lt-md\:flex-1{flex:1 1 0%}.tb-default .lt-md\:flex-col{flex-direction:column}.tb-default .lt-md\:items-center{align-items:center}.tb-default .lt-md\:justify-start{justify-content:flex-start}.tb-default .lt-md\:justify-between{justify-content:space-between}.tb-default .lt-md\:gap-3{gap:.75rem}}@media (max-width:1279px){.tb-default .lt-lg\:flex{display:flex}.tb-default .lt-lg\:\!hidden{display:none!important}.tb-default .lt-lg\:flex-col{flex-direction:column}.tb-default .lt-lg\:items-stretch{align-items:stretch}.tb-default .lt-lg\:justify-start{justify-content:flex-start}.tb-default .lt-lg\:gap-0\.75{gap:.1875rem}}@media (max-width:1919px){.tb-default .lt-xl\:\!hidden{display:none!important}.tb-default .lt-xl\:flex-1{flex:1 1 0%}.tb-default .lt-xl\:gap-2{gap:.5rem}}@media (min-width:600px){.tb-default .gt-xs\:flex{display:flex}.tb-default .gt-xs\:\!hidden{display:none!important}.tb-default .gt-xs\:max-w-25{max-width:6.25rem}.tb-default .gt-xs\:max-w-25\%{max-width:25%}.tb-default .gt-xs\:max-w-30\%{max-width:30%}.tb-default .gt-xs\:max-w-33\%{max-width:33%}.tb-default .gt-xs\:max-w-45\%{max-width:45%}.tb-default .gt-xs\:max-w-50\%{max-width:50%}.tb-default .gt-xs\:max-w-60{max-width:15rem}.tb-default .gt-xs\:max-w-60\%{max-width:60%}.tb-default .gt-xs\:max-w-70\%{max-width:70%}.tb-default .gt-xs\:flex-1{flex:1 1 0%}.tb-default .gt-xs\:flex-full{flex:1 1 100%}.tb-default .gt-xs\:flex-row{flex-direction:row}.tb-default .gt-xs\:items-start{align-items:flex-start}.tb-default .gt-xs\:items-center{align-items:center}.tb-default .gt-xs\:items-stretch{align-items:stretch}.tb-default .gt-xs\:justify-start{justify-content:flex-start}.tb-default .gt-xs\:justify-center{justify-content:center}.tb-default .gt-xs\:justify-between{justify-content:space-between}.tb-default .gt-xs\:gap-2{gap:.5rem}.tb-default .gt-xs\:gap-4{gap:1rem}.tb-default .gt-xs\:gap-8{gap:2rem}}@media (min-width:960px){.tb-default .gt-sm\:flex{display:flex}.tb-default .gt-sm\:\!hidden{display:none!important}.tb-default .gt-sm\:min-w-52{min-width:13rem}.tb-default .gt-sm\:max-w-30\%{max-width:30%}.tb-default .gt-sm\:max-w-40{max-width:10rem}.tb-default .gt-sm\:max-w-40\%{max-width:40%}.tb-default .gt-sm\:max-w-50\%{max-width:50%}.tb-default .gt-sm\:max-w-52{max-width:13rem}.tb-default .gt-sm\:max-w-60{max-width:15rem}.tb-default .gt-sm\:max-w-60\%{max-width:60%}.tb-default .gt-sm\:flex-1{flex:1 1 0%}.tb-default .gt-sm\:flex-full{flex:1 1 100%}.tb-default .gt-sm\:basis-52{flex-basis:13rem}.tb-default .gt-sm\:flex-row{flex-direction:row}.tb-default .gt-sm\:items-start{align-items:flex-start}.tb-default .gt-sm\:items-center{align-items:center}.tb-default .gt-sm\:justify-start{justify-content:flex-start}.tb-default .gt-sm\:justify-center{justify-content:center}.tb-default .gt-sm\:justify-between{justify-content:space-between}.tb-default .gt-sm\:gap-2{gap:.5rem}.tb-default .gt-sm\:gap-2\.5{gap:.625rem}.tb-default .gt-sm\:gap-5{gap:1.25rem}}@media (min-width:1280px){.tb-default .gt-md\:\!hidden{display:none!important}.tb-default .gt-md\:w-48{width:12rem}.tb-default .gt-md\:w-60{width:15rem}.tb-default .gt-md\:min-w-48{min-width:12rem}.tb-default .gt-md\:min-w-60{min-width:15rem}.tb-default .gt-md\:max-w-48{max-width:12rem}.tb-default .gt-md\:max-w-50\%{max-width:50%}.tb-default .gt-md\:max-w-60{max-width:15rem}.tb-default .gt-md\:flex-1{flex:1 1 0%}.tb-default .gt-md\:flex-full{flex:1 1 100%}.tb-default .gt-md\:flex-row{flex-direction:row}.tb-default .gt-md\:justify-center{justify-content:center}.tb-default .gt-md\:gap-2{gap:.5rem}.tb-default .gt-md\:gap-4{gap:1rem}}@media (min-width:1820px){.tb-default .gt-md-lg\:\!hidden{display:none!important}.tb-default .gt-md-lg\:flex-col{flex-direction:column}}@media (min-width:1920px){.tb-default .gt-lg\:\!hidden{display:none!important}.tb-default .gt-lg\:flex-row{flex-direction:row}.tb-default .gt-lg\:gap-3{gap:.75rem}.tb-default .gt-lg\:gap-4{gap:1rem}} \ No newline at end of file +*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.\!container{width:100%!important}.container{width:100%}@media (min-width:600px){.\!container{max-width:600px!important}.container{max-width:600px}}@media (min-width:960px){.\!container{max-width:960px!important}.container{max-width:960px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1600px){.\!container{max-width:1600px!important}.container{max-width:1600px}}@media (min-width:1820px){.\!container{max-width:1820px!important}.container{max-width:1820px}}@media (min-width:1920px){.\!container{max-width:1920px!important}.container{max-width:1920px}}.tb-default .\!visible{visibility:visible!important}.tb-default .visible{visibility:visible}.tb-default .invisible{visibility:hidden}.tb-default .collapse{visibility:collapse}.tb-default .static{position:static}.tb-default .fixed{position:fixed}.tb-default .absolute{position:absolute}.tb-default .relative{position:relative}.tb-default .sticky{position:sticky}.tb-default .inset-0{inset:0}.tb-default .mb-3\.5{margin-bottom:.875rem}.tb-default .mb-4{margin-bottom:1rem}.tb-default .mb-5{margin-bottom:1.25rem}.tb-default .mb-5\.5{margin-bottom:1.375rem}.tb-default .mr-2{margin-right:.5rem}.tb-default .mt-2{margin-top:.5rem}.tb-default .block{display:block}.tb-default .inline-block{display:inline-block}.tb-default .\!inline{display:inline!important}.tb-default .inline{display:inline}.tb-default .\!flex{display:flex!important}.tb-default .flex{display:flex}.tb-default .inline-flex{display:inline-flex}.tb-default .table{display:table}.tb-default .grid{display:grid}.tb-default .contents{display:contents}.tb-default .\!hidden{display:none!important}.tb-default .hidden{display:none}.tb-default .size-full{width:100%;height:100%}.tb-default .h-full{height:100%}.tb-default .max-h-100\%{max-height:100%}.tb-default .max-h-20{max-height:5rem}.tb-default .max-h-20\%{max-height:20%}.tb-default .max-h-30\%{max-height:30%}.tb-default .max-h-7\.5{max-height:1.875rem}.tb-default .max-h-70\%{max-height:70%}.tb-default .max-h-80{max-height:20rem}.tb-default .max-h-80\%{max-height:80%}.tb-default .min-h-0{min-height:0}.tb-default .min-h-19{min-height:4.75rem}.tb-default .min-h-7\.5{min-height:1.875rem}.tb-default .w-1\/3{width:33.333333%}.tb-default .w-10{width:2.5rem}.tb-default .w-20{width:5rem}.tb-default .w-36{width:9rem}.tb-default .w-44{width:11rem}.tb-default .w-52{width:13rem}.tb-default .w-60{width:15rem}.tb-default .w-80{width:20rem}.tb-default .w-full{width:100%}.tb-default .min-w-10{min-width:2.5rem}.tb-default .min-w-20{min-width:5rem}.tb-default .min-w-32{min-width:8rem}.tb-default .min-w-72\.5{min-width:18.125rem}.tb-default .max-w-1\/3{max-width:33.333333%}.tb-default .max-w-10{max-width:2.5rem}.tb-default .max-w-10\%{max-width:10%}.tb-default .max-w-15\%{max-width:15%}.tb-default .max-w-17\%{max-width:17%}.tb-default .max-w-20{max-width:5rem}.tb-default .max-w-20\%{max-width:20%}.tb-default .max-w-23\%{max-width:23%}.tb-default .max-w-26\%{max-width:26%}.tb-default .max-w-30\%{max-width:30%}.tb-default .max-w-32{max-width:8rem}.tb-default .max-w-33\%{max-width:33%}.tb-default .max-w-35\%{max-width:35%}.tb-default .max-w-37\%{max-width:37%}.tb-default .max-w-40{max-width:10rem}.tb-default .max-w-40\%{max-width:40%}.tb-default .max-w-45\%{max-width:45%}.tb-default .max-w-5{max-width:1.25rem}.tb-default .max-w-5\%{max-width:5%}.tb-default .max-w-50\%{max-width:50%}.tb-default .max-w-60{max-width:15rem}.tb-default .max-w-60\%{max-width:60%}.tb-default .max-w-70\%{max-width:70%}.tb-default .max-w-72\.5{max-width:18.125rem}.tb-default .max-w-8{max-width:2rem}.tb-default .max-w-8\%{max-width:8%}.tb-default .max-w-85\%{max-width:85%}.tb-default .max-w-92\%{max-width:92%}.tb-default .max-w-95\%{max-width:95%}.tb-default .max-w-sm{max-width:24rem}.tb-default .max-w-xs{max-width:20rem}.tb-default .flex-1{flex:1 1 0%}.tb-default .flex-auto{flex:1 1 auto}.tb-default .flex-full{flex:1 1 100%}.tb-default .flex-initial{flex:0 1 auto}.tb-default .shrink{flex-shrink:1}.tb-default .grow{flex-grow:1}.tb-default .basis-20{flex-basis:5rem}.tb-default .basis-32{flex-basis:8rem}.tb-default .basis-7\.5{flex-basis:1.875rem}.tb-default .basis-72\.5{flex-basis:18.125rem}.tb-default .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.tb-default .cursor-pointer{cursor:pointer}.tb-default .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.tb-default .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.tb-default .resize{resize:both}.tb-default .flex-row{flex-direction:row}.tb-default .flex-col{flex-direction:column}.tb-default .flex-wrap{flex-wrap:wrap}.tb-default .items-start{align-items:flex-start}.tb-default .items-end{align-items:flex-end}.tb-default .items-center{align-items:center}.tb-default .items-stretch{align-items:stretch}.tb-default .justify-start{justify-content:flex-start}.tb-default .justify-end{justify-content:flex-end}.tb-default .justify-center{justify-content:center}.tb-default .justify-between{justify-content:space-between}.tb-default .justify-evenly{justify-content:space-evenly}.tb-default .gap-0{gap:0}.tb-default .gap-0\.5{gap:.125rem}.tb-default .gap-1{gap:.25rem}.tb-default .gap-1\.5{gap:.375rem}.tb-default .gap-10{gap:2.5rem}.tb-default .gap-2{gap:.5rem}.tb-default .gap-2\.5{gap:.625rem}.tb-default .gap-3{gap:.75rem}.tb-default .gap-3\.75{gap:.9375rem}.tb-default .gap-4{gap:1rem}.tb-default .gap-5{gap:1.25rem}.tb-default .gap-6{gap:1.5rem}.tb-default .gap-6\.25{gap:1.5625rem}.tb-default .gap-7{gap:1.75rem}.tb-default .self-start{align-self:flex-start}.tb-default .overflow-auto{overflow:auto}.tb-default .overflow-hidden{overflow:hidden}.tb-default .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-default .whitespace-nowrap{white-space:nowrap}.tb-default .rounded{border-radius:.25rem}.tb-default .border{border-width:1px}.tb-default .\!p-0{padding:0!important}.tb-default .p-2{padding:.5rem}.tb-default .\!pl-4{padding-left:1rem!important}.tb-default .\!pr-4{padding-right:1rem!important}.tb-default .\!pt-2{padding-top:.5rem!important}.tb-default .pb-0{padding-bottom:0}.tb-default .pb-2{padding-bottom:.5rem}.tb-default .pb-3{padding-bottom:.75rem}.tb-default .pb-4{padding-bottom:1rem}.tb-default .uppercase{text-transform:uppercase}.tb-default .lowercase{text-transform:lowercase}.tb-default .italic{font-style:italic}.tb-default .ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tb-default .underline{text-decoration-line:underline}.tb-default .shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.tb-default .outline{outline-style:solid}.tb-default .blur{--tw-blur:blur(8px)}.tb-default .blur,.tb-default .drop-shadow{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.tb-default .drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f)}.tb-default .\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.tb-default .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.tb-default .backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.tb-default .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.tb-default .ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.tb-default .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.tb-default .ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@media (max-width:599px){.tb-default .xs\:flex{display:flex}.tb-default .xs\:\!hidden{display:none!important}.tb-default .xs\:max-h-30\%{max-height:30%}.tb-default .xs\:max-h-50\%{max-height:50%}.tb-default .xs\:max-h-60{max-height:15rem}.tb-default .xs\:max-h-60\%{max-height:60%}.tb-default .xs\:max-h-70\%{max-height:70%}.tb-default .xs\:\!w-1\/2{width:50%!important}.tb-default .xs\:w-1\/2{width:50%}.tb-default .xs\:min-w-0{min-width:0}.tb-default .xs\:max-w-full{max-width:100%}.tb-default .xs\:flex-1{flex:1 1 0%}.tb-default .xs\:basis-full{flex-basis:100%}.tb-default .xs\:flex-row{flex-direction:row}.tb-default .xs\:flex-col{flex-direction:column}.tb-default .xs\:flex-wrap{flex-wrap:wrap}.tb-default .xs\:items-start{align-items:flex-start}.tb-default .xs\:items-end{align-items:flex-end}.tb-default .xs\:items-stretch{align-items:stretch}.tb-default .xs\:justify-start{justify-content:flex-start}.tb-default .xs\:justify-end{justify-content:flex-end}.tb-default .xs\:justify-center{justify-content:center}.tb-default .xs\:gap-0{gap:0}.tb-default .xs\:gap-2{gap:.5rem}.tb-default .xs\:gap-3{gap:.75rem}.tb-default .xs\:gap-4{gap:1rem}.tb-default .xs\:\!p-0{padding:0!important}.tb-default .xs\:p-0{padding:0}}@media (min-width:600px) and (max-width:959px){.tb-default .sm\:\!hidden{display:none!important}.tb-default .sm\:\!w-1\/4{width:25%!important}.tb-default .sm\:w-1\/4{width:25%}.tb-default .sm\:min-w-25{min-width:6.25rem}.tb-default .sm\:min-w-37\.5{min-width:9.375rem}.tb-default .sm\:min-w-62\.5{min-width:15.625rem}.tb-default .sm\:max-w-25{max-width:6.25rem}.tb-default .sm\:max-w-37\.5{max-width:9.375rem}.tb-default .sm\:max-w-60{max-width:15rem}.tb-default .sm\:max-w-60\%{max-width:60%}.tb-default .sm\:max-w-62\.5{max-width:15.625rem}.tb-default .sm\:flex-1{flex:1 1 0%}.tb-default .sm\:flex-full{flex:1 1 100%}.tb-default .sm\:basis-25{flex-basis:6.25rem}.tb-default .sm\:basis-37\.5{flex-basis:9.375rem}.tb-default .sm\:basis-62\.5{flex-basis:15.625rem}.tb-default .sm\:gap-2{gap:.5rem}}@media (min-width:960px) and (max-width:1279px){.tb-default .md\:\!hidden{display:none!important}.tb-default .md\:min-w-25{min-width:6.25rem}.tb-default .md\:min-w-37\.5{min-width:9.375rem}.tb-default .md\:max-w-25{max-width:6.25rem}.tb-default .md\:max-w-37\.5{max-width:9.375rem}.tb-default .md\:max-w-full{max-width:100%}.tb-default .md\:flex-1{flex:1 1 0%}.tb-default .md\:basis-25{flex-basis:6.25rem}.tb-default .md\:basis-37\.5{flex-basis:9.375rem}.tb-default .md\:flex-col{flex-direction:column}.tb-default .md\:gap-0{gap:0}}@media (min-width:960px) and (max-width:1819px){.tb-default .md-lg\:\!hidden{display:none!important}}@media (min-width:1280px) and (max-width:1919px){.tb-default .lg\:gap-1\.5{gap:.375rem}}@media (max-width:599px){.tb-default .lt-sm\:\!hidden{display:none!important}.tb-default .lt-sm\:flex-full{flex:1 1 100%}.tb-default .lt-sm\:items-center{align-items:center}.tb-default .lt-sm\:justify-between{justify-content:space-between}}@media (max-width:959px){.tb-default .lt-md\:\!hidden{display:none!important}.tb-default .lt-md\:w-1\/2{width:50%}.tb-default .lt-md\:flex-1{flex:1 1 0%}.tb-default .lt-md\:flex-auto{flex:1 1 auto}.tb-default .lt-md\:flex-col{flex-direction:column}.tb-default .lt-md\:flex-wrap{flex-wrap:wrap}.tb-default .lt-md\:items-center{align-items:center}.tb-default .lt-md\:justify-start{justify-content:flex-start}.tb-default .lt-md\:justify-between{justify-content:space-between}.tb-default .lt-md\:\!gap-2{gap:.5rem!important}.tb-default .lt-md\:gap-3{gap:.75rem}}@media (max-width:1279px){.tb-default .lt-lg\:flex{display:flex}.tb-default .lt-lg\:\!hidden{display:none!important}.tb-default .lt-lg\:flex-col{flex-direction:column}.tb-default .lt-lg\:items-stretch{align-items:stretch}.tb-default .lt-lg\:justify-start{justify-content:flex-start}.tb-default .lt-lg\:gap-0\.75{gap:.1875rem}}@media (max-width:1919px){.tb-default .lt-xl\:\!hidden{display:none!important}.tb-default .lt-xl\:flex-1{flex:1 1 0%}.tb-default .lt-xl\:gap-2{gap:.5rem}}@media (min-width:600px){.tb-default .gt-xs\:flex{display:flex}.tb-default .gt-xs\:\!hidden{display:none!important}.tb-default .gt-xs\:max-h-\[80vh\]{max-height:80vh}.tb-default .gt-xs\:max-w-25{max-width:6.25rem}.tb-default .gt-xs\:max-w-25\%{max-width:25%}.tb-default .gt-xs\:max-w-30\%{max-width:30%}.tb-default .gt-xs\:max-w-33\%{max-width:33%}.tb-default .gt-xs\:max-w-45\%{max-width:45%}.tb-default .gt-xs\:max-w-50\%{max-width:50%}.tb-default .gt-xs\:max-w-60{max-width:15rem}.tb-default .gt-xs\:max-w-60\%{max-width:60%}.tb-default .gt-xs\:max-w-70\%{max-width:70%}.tb-default .gt-xs\:flex-1{flex:1 1 0%}.tb-default .gt-xs\:flex-full{flex:1 1 100%}.tb-default .gt-xs\:flex-row{flex-direction:row}.tb-default .gt-xs\:items-start{align-items:flex-start}.tb-default .gt-xs\:items-center{align-items:center}.tb-default .gt-xs\:items-stretch{align-items:stretch}.tb-default .gt-xs\:justify-start{justify-content:flex-start}.tb-default .gt-xs\:justify-center{justify-content:center}.tb-default .gt-xs\:justify-between{justify-content:space-between}.tb-default .gt-xs\:gap-2{gap:.5rem}.tb-default .gt-xs\:gap-4{gap:1rem}.tb-default .gt-xs\:gap-8{gap:2rem}}@media (min-width:960px){.tb-default .gt-sm\:flex{display:flex}.tb-default .gt-sm\:\!hidden{display:none!important}.tb-default .gt-sm\:w-1\/3{width:33.333333%}.tb-default .gt-sm\:w-2\/3{width:66.666667%}.tb-default .gt-sm\:min-w-37\.5{min-width:9.375rem}.tb-default .gt-sm\:min-w-52{min-width:13rem}.tb-default .gt-sm\:max-w-30\%{max-width:30%}.tb-default .gt-sm\:max-w-40{max-width:10rem}.tb-default .gt-sm\:max-w-40\%{max-width:40%}.tb-default .gt-sm\:max-w-50\%{max-width:50%}.tb-default .gt-sm\:max-w-52{max-width:13rem}.tb-default .gt-sm\:max-w-60{max-width:15rem}.tb-default .gt-sm\:max-w-60\%{max-width:60%}.tb-default .gt-sm\:flex-1{flex:1 1 0%}.tb-default .gt-sm\:flex-full{flex:1 1 100%}.tb-default .gt-sm\:basis-52{flex-basis:13rem}.tb-default .gt-sm\:flex-row{flex-direction:row}.tb-default .gt-sm\:items-start{align-items:flex-start}.tb-default .gt-sm\:items-center{align-items:center}.tb-default .gt-sm\:justify-start{justify-content:flex-start}.tb-default .gt-sm\:justify-center{justify-content:center}.tb-default .gt-sm\:justify-between{justify-content:space-between}.tb-default .gt-sm\:gap-2{gap:.5rem}.tb-default .gt-sm\:gap-2\.5{gap:.625rem}.tb-default .gt-sm\:gap-5{gap:1.25rem}}@media (min-width:1280px){.tb-default .gt-md\:\!hidden{display:none!important}.tb-default .gt-md\:w-48{width:12rem}.tb-default .gt-md\:w-60{width:15rem}.tb-default .gt-md\:min-w-48{min-width:12rem}.tb-default .gt-md\:min-w-60{min-width:15rem}.tb-default .gt-md\:max-w-48{max-width:12rem}.tb-default .gt-md\:max-w-50\%{max-width:50%}.tb-default .gt-md\:max-w-60{max-width:15rem}.tb-default .gt-md\:flex-1{flex:1 1 0%}.tb-default .gt-md\:flex-full{flex:1 1 100%}.tb-default .gt-md\:flex-row{flex-direction:row}.tb-default .gt-md\:justify-center{justify-content:center}.tb-default .gt-md\:gap-2{gap:.5rem}.tb-default .gt-md\:gap-4{gap:1rem}}@media (min-width:1820px){.tb-default .gt-md-lg\:\!hidden{display:none!important}.tb-default .gt-md-lg\:flex-col{flex-direction:column}}@media (min-width:1920px){.tb-default .gt-lg\:\!hidden{display:none!important}.tb-default .gt-lg\:flex-row{flex-direction:row}.tb-default .gt-lg\:gap-3{gap:.75rem}.tb-default .gt-lg\:gap-4{gap:1rem}} \ No newline at end of file