@acorex/modules 19.3.0 → 19.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/lib/common.module.d.ts +2 -1
- package/dashboard-management/index.d.ts +1 -0
- package/dashboard-management/lib/dashboard-management.module.d.ts +2 -2
- package/dashboard-management/lib/entities/dashboard/dashboard.types.d.ts +2 -2
- package/dashboard-management/lib/features/home-dashboard/dashboard-home/home-dashboard.d.ts +7 -7
- package/dashboard-management/lib/features/home-dashboard/dashboard-home/home-dashboard.store.d.ts +6 -6
- package/dashboard-management/lib/features/home-dashboard/dashboard-home/home-dashboard.type.d.ts +3 -3
- package/dashboard-management/lib/features/home-dashboard/dashboard-popups/add-dashboard-popup.d.ts +3 -3
- package/dashboard-management/lib/features/home-dashboard/dashboard-popups/configuration-popup.d.ts +3 -3
- package/dashboard-management/lib/features/home-dashboard/dashboard-popups/dashboard-popup.service.d.ts +5 -5
- package/dashboard-management/lib/features/home-dashboard/widget-wrapper/dashboard-widget-wrapper.d.ts +4 -3
- package/dashboard-management/lib/features/shared/widgets/bar-chart/bar-chart-widget.component.d.ts +17 -0
- package/dashboard-management/lib/features/shared/widgets/bar-chart/bar-chart-widget.config.d.ts +7 -0
- package/dashboard-management/lib/features/shared/widgets/bar-chart/index.d.ts +2 -0
- package/dashboard-management/lib/features/shared/widgets/chart.type.d.ts +3 -0
- package/dashboard-management/lib/features/shared/widgets/clock-calendar/clock-calendar-widget.component.d.ts +39 -0
- package/dashboard-management/lib/features/shared/widgets/clock-calendar/clock-calendar-widget.config.d.ts +7 -0
- package/dashboard-management/lib/features/shared/widgets/clock-calendar/clock-calendar.types.d.ts +50 -0
- package/dashboard-management/lib/features/shared/widgets/clock-calendar/index.d.ts +3 -0
- package/dashboard-management/lib/features/shared/widgets/dashboard-shortcut/index.d.ts +2 -0
- package/dashboard-management/lib/features/shared/widgets/donut-chart/donut-chart-widget.component.d.ts +17 -0
- package/dashboard-management/lib/features/shared/widgets/donut-chart/donut-chart-widget.config.d.ts +7 -0
- package/dashboard-management/lib/features/shared/widgets/donut-chart/index.d.ts +2 -0
- package/dashboard-management/lib/features/shared/widgets/gauge-chart/gauge-chart-widget.component.d.ts +16 -0
- package/dashboard-management/lib/features/shared/widgets/gauge-chart/gauge-chart-widget.config.d.ts +7 -0
- package/dashboard-management/lib/features/shared/widgets/gauge-chart/index.d.ts +2 -0
- package/dashboard-management/lib/features/shared/widgets/index.d.ts +9 -0
- package/dashboard-management/lib/features/shared/widgets/line-chart/index.d.ts +2 -0
- package/dashboard-management/lib/features/shared/widgets/line-chart/line-chart-widget.component.d.ts +17 -0
- package/dashboard-management/lib/features/shared/widgets/line-chart/line-chart-widget.config.d.ts +7 -0
- package/dashboard-management/lib/features/shared/widgets/sticky-note/index.d.ts +2 -0
- package/dashboard-management/lib/features/shared/widgets/sticky-note/sticky-note-widget.component.d.ts +21 -0
- package/dashboard-management/lib/features/shared/widgets/sticky-note/sticky-note-widget.config.d.ts +7 -0
- package/dashboard-management/lib/features/shared/widgets/tasklist/index.d.ts +3 -0
- package/dashboard-management/lib/features/shared/widgets/tasklist/tasklist-widget.component.d.ts +34 -0
- package/dashboard-management/lib/features/shared/widgets/tasklist/tasklist-widget.config.d.ts +7 -0
- package/dashboard-management/lib/features/shared/widgets/tasklist/tasklist.type.d.ts +36 -0
- package/dashboard-management/lib/features/shared/widgets/weather/index.d.ts +3 -0
- package/dashboard-management/lib/features/shared/widgets/weather/weather-services/index.d.ts +3 -0
- package/dashboard-management/lib/features/shared/widgets/weather/weather-services/weather-api.abstract.d.ts +174 -0
- package/dashboard-management/lib/features/shared/widgets/weather/weather-services/weather-api.key.d.ts +2 -0
- package/dashboard-management/lib/features/shared/widgets/weather/weather-services/weather-api.mock.service.d.ts +47 -0
- package/dashboard-management/lib/features/shared/widgets/weather/weather-services/weather-api.service.d.ts +48 -0
- package/dashboard-management/lib/features/shared/widgets/weather/weather-widget.component.d.ts +109 -0
- package/dashboard-management/lib/features/shared/widgets/weather/weather-widget.config.d.ts +14 -0
- package/fesm2022/acorex-modules-application-management.mjs +2 -2
- package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-B1HTJdsE.mjs → acorex-modules-auth-acorex-modules-auth-DJZcD1j3.mjs} +23 -83
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-DJZcD1j3.mjs.map +1 -0
- package/fesm2022/acorex-modules-auth-app-chooser.component-DlYxDGQr.mjs +65 -0
- package/fesm2022/acorex-modules-auth-app-chooser.component-DlYxDGQr.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-login.module-TtdNj0aL.mjs → acorex-modules-auth-login.module-D-XgzifC.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-login.module-TtdNj0aL.mjs.map → acorex-modules-auth-login.module-D-XgzifC.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-CtVrY1hn.mjs → acorex-modules-auth-master.layout-ZaCb3CED.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-master.layout-CtVrY1hn.mjs.map → acorex-modules-auth-master.layout-ZaCb3CED.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-Dmj9zZSI.mjs → acorex-modules-auth-password.component-C-xRIhrM.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-Dmj9zZSI.mjs.map → acorex-modules-auth-password.component-C-xRIhrM.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-BXm2NAaN.mjs → acorex-modules-auth-password.component-CLTZoufP.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-BXm2NAaN.mjs.map → acorex-modules-auth-password.component-CLTZoufP.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-DkgsKi3a.mjs → acorex-modules-auth-routes-4T5jq7su.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-DkgsKi3a.mjs.map → acorex-modules-auth-routes-4T5jq7su.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth-tenant-chooser.component-Ow7QtAWc.mjs +98 -0
- package/fesm2022/acorex-modules-auth-tenant-chooser.component-Ow7QtAWc.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-two-factor.module-DDOSqjYs.mjs → acorex-modules-auth-two-factor.module-D72KIpvA.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-two-factor.module-DDOSqjYs.mjs.map → acorex-modules-auth-two-factor.module-D72KIpvA.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-user-sessions.component-B3i44VC5.mjs → acorex-modules-auth-user-sessions.component-Btnu_Oeq.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-user-sessions.component-B3i44VC5.mjs.map → acorex-modules-auth-user-sessions.component-Btnu_Oeq.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/acorex-modules-common.mjs +3 -5
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-VORBD1g-.mjs +3755 -0
- package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-VORBD1g-.mjs.map +1 -0
- package/fesm2022/{acorex-modules-dashboard-management-index-Br6L5KMu.mjs → acorex-modules-dashboard-management-home-dashboard-DiPn_RhH.mjs} +48 -47
- package/fesm2022/acorex-modules-dashboard-management-home-dashboard-DiPn_RhH.mjs.map +1 -0
- package/fesm2022/acorex-modules-dashboard-management.mjs +1 -1
- package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-DO18V9JK.mjs → acorex-modules-form-template-management-acorex-modules-form-template-management-Cv92x_9Z.mjs} +11 -11
- package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-Cv92x_9Z.mjs.map +1 -0
- package/fesm2022/{acorex-modules-form-template-management-category.entity-nErIyYxr.mjs → acorex-modules-form-template-management-category.entity-DPVwQW4X.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-category.entity-nErIyYxr.mjs.map → acorex-modules-form-template-management-category.entity-DPVwQW4X.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-settings.provider-CROST06h.mjs → acorex-modules-form-template-management-settings.provider-iwOUp0iw.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-settings.provider-CROST06h.mjs.map → acorex-modules-form-template-management-settings.provider-iwOUp0iw.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-0GHf41xy.mjs → acorex-modules-form-template-management-template-widget-edit.component-BkR3x74p.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-0GHf41xy.mjs.map → acorex-modules-form-template-management-template-widget-edit.component-BkR3x74p.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-template.entity-HSE5R67l.mjs → acorex-modules-form-template-management-template.entity-NgmH7r8R.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-template.entity-HSE5R67l.mjs.map → acorex-modules-form-template-management-template.entity-NgmH7r8R.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-pi15hXWY.mjs → acorex-modules-form-template-management-viewer-popup.component-Cq33xA62.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-pi15hXWY.mjs.map → acorex-modules-form-template-management-viewer-popup.component-Cq33xA62.mjs.map} +1 -1
- package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
- package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-DhuDuKkz.mjs → acorex-modules-issue-management-acorex-modules-issue-management-U5EJyG5e.mjs} +44 -43
- package/fesm2022/acorex-modules-issue-management-acorex-modules-issue-management-U5EJyG5e.mjs.map +1 -0
- package/fesm2022/{acorex-modules-issue-management-capture-screen.component-XFV3kuzQ.mjs → acorex-modules-issue-management-capture-screen.component-3ZAOJBfn.mjs} +2 -2
- package/fesm2022/{acorex-modules-issue-management-capture-screen.component-XFV3kuzQ.mjs.map → acorex-modules-issue-management-capture-screen.component-3ZAOJBfn.mjs.map} +1 -1
- package/fesm2022/acorex-modules-issue-management.mjs +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +623 -53
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-eDTvyQpA.mjs → acorex-modules-organization-management-org-chart.page-DnRbGIWN.mjs} +3 -3
- package/fesm2022/acorex-modules-organization-management-org-chart.page-DnRbGIWN.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management.mjs +2 -2
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-DHA8LTwL.mjs → acorex-modules-platform-management-acorex-modules-platform-management-5lToZD6T.mjs} +59 -6
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-5lToZD6T.mjs.map +1 -0
- package/fesm2022/{acorex-modules-platform-management-list-version.component-DgDjbODD.mjs → acorex-modules-platform-management-list-version.component-BElZjmXr.mjs} +2 -2
- package/fesm2022/{acorex-modules-platform-management-list-version.component-DgDjbODD.mjs.map → acorex-modules-platform-management-list-version.component-BElZjmXr.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-platform-management-settings.provider-W71pfOmi.mjs → acorex-modules-platform-management-settings.provider-CemrvnbH.mjs} +2 -2
- package/fesm2022/{acorex-modules-platform-management-settings.provider-W71pfOmi.mjs.map → acorex-modules-platform-management-settings.provider-CemrvnbH.mjs.map} +1 -1
- package/fesm2022/acorex-modules-platform-management.mjs +1 -1
- package/fesm2022/acorex-modules-project-management.mjs +218 -155
- package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-security-management.mjs +472 -787
- package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-training-management.mjs +5574 -0
- package/fesm2022/acorex-modules-training-management.mjs.map +1 -0
- package/notification-management/index.d.ts +1 -0
- package/notification-management/lib/entities/notification/notification.service.d.ts +6 -6
- package/notification-management/lib/features/components/admin-notification-panel/admin-notification-panel.component.d.ts +13 -7
- package/notification-management/lib/features/dashboard/widgets/my-notification/index.d.ts +2 -0
- package/notification-management/lib/features/dashboard/widgets/my-notification/notification-widget.component.d.ts +82 -0
- package/notification-management/lib/features/dashboard/widgets/my-notification/notification-widget.config.d.ts +5 -0
- package/notification-management/lib/features/shared/notification-connector.service.d.ts +57 -0
- package/notification-management/lib/notification-management.module.d.ts +2 -1
- package/notification-management/lib/notification-management.type.d.ts +3 -0
- package/package.json +5 -1
- package/security-management/lib/entities/index.d.ts +1 -2
- package/security-management/lib/entities/profile/index.d.ts +0 -1
- package/security-management/lib/entities/users/users.service.d.ts +2 -2
- package/security-management/lib/entities/users/users.types.d.ts +2 -2
- package/security-management/lib/user-avatar.provider.d.ts +5 -0
- package/training-management/README.md +3 -0
- package/training-management/index.d.ts +7 -0
- package/training-management/lib/const.d.ts +85 -0
- package/training-management/lib/entities/certificate/certificate.entity.d.ts +3 -0
- package/training-management/lib/entities/certificate/certificate.service.d.ts +10 -0
- package/training-management/lib/entities/certificate/certificate.types.d.ts +12 -0
- package/training-management/lib/entities/certificate/index.d.ts +3 -0
- package/training-management/lib/entities/course/course.entity.d.ts +3 -0
- package/training-management/lib/entities/course/course.service.d.ts +10 -0
- package/training-management/lib/entities/course/course.types.d.ts +8 -0
- package/training-management/lib/entities/course/index.d.ts +3 -0
- package/training-management/lib/entities/course-location/course-location.entity.d.ts +3 -0
- package/training-management/lib/entities/course-location/course-location.service.d.ts +10 -0
- package/training-management/lib/entities/course-location/course-location.types.d.ts +6 -0
- package/training-management/lib/entities/course-location/index.d.ts +3 -0
- package/training-management/lib/entities/course-period/course-period.entity.d.ts +3 -0
- package/training-management/lib/entities/course-period/course-period.service.d.ts +10 -0
- package/training-management/lib/entities/course-period/course-period.types.d.ts +6 -0
- package/training-management/lib/entities/course-period/index.d.ts +3 -0
- package/training-management/lib/entities/course-type/course-type.entity.d.ts +3 -0
- package/training-management/lib/entities/course-type/course-type.service.d.ts +10 -0
- package/training-management/lib/entities/course-type/course-type.types.d.ts +5 -0
- package/training-management/lib/entities/course-type/index.d.ts +3 -0
- package/training-management/lib/entities/facilitator-type/facilitator-type.entity.d.ts +3 -0
- package/training-management/lib/entities/facilitator-type/facilitator-type.service.d.ts +10 -0
- package/training-management/lib/entities/facilitator-type/facilitator-type.types.d.ts +6 -0
- package/training-management/lib/entities/facilitator-type/index.d.ts +3 -0
- package/training-management/lib/entities/index.d.ts +12 -0
- package/training-management/lib/entities/location/index.d.ts +3 -0
- package/training-management/lib/entities/location/location.entity.d.ts +3 -0
- package/training-management/lib/entities/location/location.service.d.ts +10 -0
- package/training-management/lib/entities/location/location.types.d.ts +7 -0
- package/training-management/lib/entities/period/index.d.ts +3 -0
- package/training-management/lib/entities/period/period.entity.d.ts +3 -0
- package/training-management/lib/entities/period/period.service.d.ts +10 -0
- package/training-management/lib/entities/period/period.types.d.ts +6 -0
- package/training-management/lib/entities/training/index.d.ts +3 -0
- package/training-management/lib/entities/training/training.entity.d.ts +3 -0
- package/training-management/lib/entities/training/training.service.d.ts +10 -0
- package/training-management/lib/entities/training/training.types.d.ts +13 -0
- package/training-management/lib/entities/training-facilitator/index.d.ts +3 -0
- package/training-management/lib/entities/training-facilitator/training-facilitator.entity.d.ts +3 -0
- package/training-management/lib/entities/training-facilitator/training-facilitator.service.d.ts +10 -0
- package/training-management/lib/entities/training-facilitator/training-facilitator.types.d.ts +7 -0
- package/training-management/lib/entities/training-participant/index.d.ts +3 -0
- package/training-management/lib/entities/training-participant/training-participant.entity.d.ts +3 -0
- package/training-management/lib/entities/training-participant/training-participant.service.d.ts +10 -0
- package/training-management/lib/entities/training-participant/training-participant.types.d.ts +7 -0
- package/training-management/lib/entities/training-type/index.d.ts +3 -0
- package/training-management/lib/entities/training-type/training-type.entity.d.ts +3 -0
- package/training-management/lib/entities/training-type/training-type.service.d.ts +10 -0
- package/training-management/lib/entities/training-type/training-type.types.d.ts +7 -0
- package/training-management/lib/entity.provider.d.ts +10 -0
- package/training-management/lib/menu.provider.d.ts +5 -0
- package/training-management/lib/permission-definition.provider.d.ts +4 -0
- package/training-management/lib/search-command.provider.d.ts +4 -0
- package/training-management/lib/setting.provider.d.ts +4 -0
- package/training-management/lib/training-management.module.d.ts +6 -0
- package/auth/lib/pages/account/avatar/avatar.component.d.ts +0 -20
- package/dashboard-management/lib/features/home-dashboard/home-dashboard.module.d.ts +0 -7
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-B1HTJdsE.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-app-chooser.component-Ct-vco0y.mjs +0 -64
- package/fesm2022/acorex-modules-auth-app-chooser.component-Ct-vco0y.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-tenant-chooser.component-D9C6LCjn.mjs +0 -97
- package/fesm2022/acorex-modules-auth-tenant-chooser.component-D9C6LCjn.mjs.map +0 -1
- package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-DuvWGfl1.mjs +0 -568
- package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-DuvWGfl1.mjs.map +0 -1
- package/fesm2022/acorex-modules-dashboard-management-dashboard-shortcut-widget-view.component-C9RGRmuR.mjs +0 -139
- package/fesm2022/acorex-modules-dashboard-management-dashboard-shortcut-widget-view.component-C9RGRmuR.mjs.map +0 -1
- package/fesm2022/acorex-modules-dashboard-management-index-Br6L5KMu.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-DO18V9JK.mjs.map +0 -1
- package/fesm2022/acorex-modules-issue-management-acorex-modules-issue-management-DhuDuKkz.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart.page-eDTvyQpA.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-DHA8LTwL.mjs.map +0 -1
- package/security-management/lib/entities/profile/profile.service.d.ts +0 -13
- /package/dashboard-management/lib/features/{home-dashboard → shared}/widgets/dashboard-shortcut/dashboard-shortcut-widget-view.component.d.ts +0 -0
- /package/dashboard-management/lib/features/{home-dashboard → shared}/widgets/dashboard-shortcut/dashboard-shortcut-widget.config.d.ts +0 -0
- /package/dashboard-management/lib/{features/home-dashboard/setrting.keys.d.ts → settings.keys.d.ts} +0 -0
@@ -0,0 +1,174 @@
|
|
1
|
+
import { Observable } from 'rxjs';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
/**
|
4
|
+
* Weather location information
|
5
|
+
*/
|
6
|
+
export interface AXPWeatherLocation {
|
7
|
+
/** City name */
|
8
|
+
city: string;
|
9
|
+
/** Country name */
|
10
|
+
country: string;
|
11
|
+
/** Formatted location display name */
|
12
|
+
displayName: string;
|
13
|
+
}
|
14
|
+
/**
|
15
|
+
* Weather current condition information
|
16
|
+
*/
|
17
|
+
export interface AXPWeatherCondition {
|
18
|
+
/** Condition text */
|
19
|
+
condition: string;
|
20
|
+
/** Condition code */
|
21
|
+
conditionCode: number;
|
22
|
+
/** Icon URL */
|
23
|
+
iconUrl: string;
|
24
|
+
/** Temperature in Celsius */
|
25
|
+
tempC: number;
|
26
|
+
/** Temperature in Fahrenheit */
|
27
|
+
tempF: number;
|
28
|
+
/** Feels like temperature in Celsius */
|
29
|
+
feelsLikeC: number;
|
30
|
+
/** Feels like temperature in Fahrenheit */
|
31
|
+
feelsLikeF: number;
|
32
|
+
/** Humidity percentage */
|
33
|
+
humidity: number;
|
34
|
+
/** Wind speed in km/h */
|
35
|
+
windKph: number;
|
36
|
+
/** Wind speed in mph */
|
37
|
+
windMph: number;
|
38
|
+
/** Wind direction */
|
39
|
+
windDirection: string;
|
40
|
+
/** UV index */
|
41
|
+
uv: number;
|
42
|
+
/** Last updated timestamp */
|
43
|
+
lastUpdated: string;
|
44
|
+
}
|
45
|
+
/**
|
46
|
+
* Weather forecast data for a single day
|
47
|
+
*/
|
48
|
+
export interface AXPWeatherForecastDay {
|
49
|
+
/** Date string */
|
50
|
+
date: string;
|
51
|
+
/** Day name (e.g., "Mon", "Tue") */
|
52
|
+
day: string;
|
53
|
+
/** Weather condition code */
|
54
|
+
condition: string;
|
55
|
+
/** Weather icon URL */
|
56
|
+
iconUrl: string;
|
57
|
+
/** Max temperature in Celsius */
|
58
|
+
maxTempC: number;
|
59
|
+
/** Max temperature in Fahrenheit */
|
60
|
+
maxTempF: number;
|
61
|
+
/** Min temperature in Celsius */
|
62
|
+
minTempC: number;
|
63
|
+
/** Min temperature in Fahrenheit */
|
64
|
+
minTempF: number;
|
65
|
+
}
|
66
|
+
/**
|
67
|
+
* Complete weather data response
|
68
|
+
*/
|
69
|
+
export interface AXPWeatherData {
|
70
|
+
/** Location information */
|
71
|
+
location: AXPWeatherLocation;
|
72
|
+
/** Current weather data */
|
73
|
+
current: AXPWeatherCondition;
|
74
|
+
/** Forecast data */
|
75
|
+
forecast: AXPWeatherForecastDay[];
|
76
|
+
}
|
77
|
+
/**
|
78
|
+
* Weather API request options
|
79
|
+
*/
|
80
|
+
export interface AXPWeatherRequestOptions {
|
81
|
+
/** Temperature unit */
|
82
|
+
tempUnit?: string;
|
83
|
+
/** Location query */
|
84
|
+
location?: string;
|
85
|
+
/** Use mock data */
|
86
|
+
useMockData?: boolean;
|
87
|
+
}
|
88
|
+
/**
|
89
|
+
* Weather UI condition display info
|
90
|
+
*/
|
91
|
+
export interface AXPWeatherConditionDisplay {
|
92
|
+
/** Condition unique ID */
|
93
|
+
id: string;
|
94
|
+
/** Display name */
|
95
|
+
name: string;
|
96
|
+
/** Icon class (Font Awesome) */
|
97
|
+
icon: string;
|
98
|
+
/** Associated color */
|
99
|
+
color: string;
|
100
|
+
}
|
101
|
+
/**
|
102
|
+
* Abstract Weather API Service
|
103
|
+
* Base class that defines the interface and common functionality
|
104
|
+
* for weather data providers
|
105
|
+
*/
|
106
|
+
export declare abstract class AXPWeatherApiAbstract {
|
107
|
+
/** Weather condition definitions mapping */
|
108
|
+
protected weatherConditions: Record<string, AXPWeatherConditionDisplay>;
|
109
|
+
/** Day of week mapping */
|
110
|
+
protected readonly dayNames: string[];
|
111
|
+
/**
|
112
|
+
* Get weather condition info by ID
|
113
|
+
* @param id Condition ID
|
114
|
+
* @returns Weather condition info or default if not found
|
115
|
+
*/
|
116
|
+
getCondition(id: string): AXPWeatherConditionDisplay;
|
117
|
+
/**
|
118
|
+
* Get current weather data for given location
|
119
|
+
* @param options Weather request options
|
120
|
+
* @returns Observable with weather data
|
121
|
+
*/
|
122
|
+
abstract getWeather(options: AXPWeatherRequestOptions): Observable<AXPWeatherData>;
|
123
|
+
/**
|
124
|
+
* Get weather forecast for a location
|
125
|
+
* @param options Weather request options with days
|
126
|
+
* @returns Observable of weather data with forecast
|
127
|
+
*/
|
128
|
+
abstract getForecast(options: AXPWeatherRequestOptions & {
|
129
|
+
days?: number;
|
130
|
+
}): Observable<AXPWeatherData>;
|
131
|
+
/**
|
132
|
+
* Parse location string into city and display components
|
133
|
+
* @param location Location query string
|
134
|
+
* @returns Parsed location parts
|
135
|
+
*/
|
136
|
+
protected parseLocation(location: string): {
|
137
|
+
city: string;
|
138
|
+
country: string;
|
139
|
+
display: string;
|
140
|
+
};
|
141
|
+
/**
|
142
|
+
* Format location name for display
|
143
|
+
* @param locationParts Parsed location parts
|
144
|
+
* @returns Formatted location name
|
145
|
+
*/
|
146
|
+
protected formatLocationName(locationParts: {
|
147
|
+
city: string;
|
148
|
+
country: string;
|
149
|
+
display: string;
|
150
|
+
}): string;
|
151
|
+
/**
|
152
|
+
* Map API condition text to our internal condition IDs
|
153
|
+
* @param conditionText Condition text from API
|
154
|
+
* @returns Internal condition ID
|
155
|
+
*/
|
156
|
+
protected mapApiConditionToId(conditionText: string): string;
|
157
|
+
/**
|
158
|
+
* Generate random integer between min and max (inclusive)
|
159
|
+
* Helper method for implementations
|
160
|
+
* @param min Minimum value
|
161
|
+
* @param max Maximum value
|
162
|
+
* @returns Random integer
|
163
|
+
*/
|
164
|
+
protected getRandomInt(min: number, max: number): number;
|
165
|
+
/**
|
166
|
+
* Set the API key for the weather service
|
167
|
+
* This is only used by the real API implementation,
|
168
|
+
* but is defined in the abstract class for consistency
|
169
|
+
* @param key The API key
|
170
|
+
*/
|
171
|
+
abstract setApiKey(key: string): void;
|
172
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPWeatherApiAbstract, never>;
|
173
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPWeatherApiAbstract>;
|
174
|
+
}
|
@@ -0,0 +1,47 @@
|
|
1
|
+
import { Observable } from 'rxjs';
|
2
|
+
import { AXPWeatherApiAbstract, AXPWeatherData, AXPWeatherRequestOptions } from './weather-api.abstract';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
/**
|
5
|
+
* Mock Weather API Service
|
6
|
+
* Provides simulated weather data for development and testing
|
7
|
+
*/
|
8
|
+
export declare class AXPWeatherApiMockService extends AXPWeatherApiAbstract {
|
9
|
+
private readonly mockDelay;
|
10
|
+
/**
|
11
|
+
* Get current weather data for given location
|
12
|
+
* @param options Weather request options
|
13
|
+
* @returns Observable with weather data
|
14
|
+
*/
|
15
|
+
getWeather(options: AXPWeatherRequestOptions): Observable<AXPWeatherData>;
|
16
|
+
/**
|
17
|
+
* Get weather forecast for a location
|
18
|
+
* @param options Weather request options with days
|
19
|
+
* @returns Observable of weather data with forecast
|
20
|
+
*/
|
21
|
+
getForecast(options: AXPWeatherRequestOptions & {
|
22
|
+
days?: number;
|
23
|
+
}): Observable<AXPWeatherData>;
|
24
|
+
/**
|
25
|
+
* Get mock weather data for demo/development
|
26
|
+
* @param location Location query
|
27
|
+
* @param options Request options
|
28
|
+
* @returns Observable of mock weather data
|
29
|
+
*/
|
30
|
+
private getMockWeatherData;
|
31
|
+
/**
|
32
|
+
* Get mock forecast data for demo/development
|
33
|
+
* @param location Location query
|
34
|
+
* @param days Number of forecast days
|
35
|
+
* @param options Request options
|
36
|
+
* @returns Observable of mock weather data with forecast
|
37
|
+
*/
|
38
|
+
private getMockForecast;
|
39
|
+
/**
|
40
|
+
* Set the API key for the weather service
|
41
|
+
* No-op in the mock implementation
|
42
|
+
* @param key The API key
|
43
|
+
*/
|
44
|
+
setApiKey(key: string): void;
|
45
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPWeatherApiMockService, never>;
|
46
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPWeatherApiMockService>;
|
47
|
+
}
|
@@ -0,0 +1,48 @@
|
|
1
|
+
import { Observable } from 'rxjs';
|
2
|
+
import { AXPWeatherApiAbstract, AXPWeatherData, AXPWeatherRequestOptions } from './weather-api.abstract';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
/**
|
5
|
+
* Real Weather API Service
|
6
|
+
* Fetches actual weather data from a weather API service
|
7
|
+
*/
|
8
|
+
export declare class AXPWeatherApiService extends AXPWeatherApiAbstract {
|
9
|
+
private readonly http;
|
10
|
+
private readonly baseApiUrl;
|
11
|
+
private apiKeyToken;
|
12
|
+
/**
|
13
|
+
* Set the API key for the weather service
|
14
|
+
* @param key The API key
|
15
|
+
*/
|
16
|
+
setApiKey(key: string): void;
|
17
|
+
/**
|
18
|
+
* Get current weather data for given location
|
19
|
+
* @param options Weather request options
|
20
|
+
* @returns Observable with weather data
|
21
|
+
*/
|
22
|
+
getWeather(options: AXPWeatherRequestOptions): Observable<AXPWeatherData>;
|
23
|
+
/**
|
24
|
+
* Get weather forecast for a location
|
25
|
+
* @param options Weather request options with days
|
26
|
+
* @returns Observable of weather data with forecast
|
27
|
+
*/
|
28
|
+
getForecast(options: AXPWeatherRequestOptions & {
|
29
|
+
days?: number;
|
30
|
+
}): Observable<AXPWeatherData>;
|
31
|
+
/**
|
32
|
+
* Transform API response to our internal data model
|
33
|
+
* @param apiData Raw API response
|
34
|
+
* @param displayName Formatted location name
|
35
|
+
* @returns Normalized weather data
|
36
|
+
*/
|
37
|
+
private transformApiResponse;
|
38
|
+
/**
|
39
|
+
* Transform forecast API response to our internal data model
|
40
|
+
* @param apiData Raw API response with forecast
|
41
|
+
* @param displayName Formatted location name
|
42
|
+
* @param days Number of forecast days
|
43
|
+
* @returns Normalized weather data with forecast
|
44
|
+
*/
|
45
|
+
private transformForecastResponse;
|
46
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPWeatherApiService, never>;
|
47
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPWeatherApiService>;
|
48
|
+
}
|
package/dashboard-management/lib/features/shared/widgets/weather/weather-widget.component.d.ts
ADDED
@@ -0,0 +1,109 @@
|
|
1
|
+
import { AXPValueWidgetComponent } from '@acorex/platform/layout/builder';
|
2
|
+
import { ChangeDetectorRef, ElementRef } from '@angular/core';
|
3
|
+
import { AXPWeatherData } from './weather-services';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
/**
|
6
|
+
* Weather Widget Component
|
7
|
+
* Displays current weather conditions and optional forecast data
|
8
|
+
* for a specified location with customizable display options.
|
9
|
+
*/
|
10
|
+
export declare class AXPWeatherWidgetViewComponent extends AXPValueWidgetComponent {
|
11
|
+
protected cdr: ChangeDetectorRef;
|
12
|
+
protected containerEl: import("@angular/core").Signal<ElementRef<HTMLDivElement>>;
|
13
|
+
private weatherService;
|
14
|
+
protected weatherData: import("@angular/core").WritableSignal<AXPWeatherData | null>;
|
15
|
+
protected isLoading: import("@angular/core").WritableSignal<boolean>;
|
16
|
+
protected hasError: import("@angular/core").WritableSignal<boolean>;
|
17
|
+
protected errorMessage: import("@angular/core").WritableSignal<string>;
|
18
|
+
protected isForecastLoading: import("@angular/core").WritableSignal<boolean>;
|
19
|
+
private refreshSubscription;
|
20
|
+
protected city: import("@angular/core").Signal<any>;
|
21
|
+
protected temperatureUnit: import("@angular/core").Signal<any>;
|
22
|
+
protected windSpeedUnit: import("@angular/core").Signal<any>;
|
23
|
+
protected showCurrentCondition: import("@angular/core").Signal<boolean>;
|
24
|
+
protected showTemperature: import("@angular/core").Signal<boolean>;
|
25
|
+
protected showHumidity: import("@angular/core").Signal<boolean>;
|
26
|
+
protected showWind: import("@angular/core").Signal<boolean>;
|
27
|
+
protected showForecast: import("@angular/core").Signal<boolean>;
|
28
|
+
protected forecastDays: import("@angular/core").Signal<any>;
|
29
|
+
protected autoRefresh: import("@angular/core").Signal<boolean>;
|
30
|
+
protected refreshInterval: import("@angular/core").Signal<any>;
|
31
|
+
private optionsEffect;
|
32
|
+
private valueEffect;
|
33
|
+
protected displayedForecast: import("@angular/core").Signal<import("./weather-services").AXPWeatherForecastDay[]>;
|
34
|
+
/**
|
35
|
+
* Component constructor
|
36
|
+
* @param cdr ChangeDetectorRef for triggering view updates
|
37
|
+
*/
|
38
|
+
constructor(cdr: ChangeDetectorRef);
|
39
|
+
/**
|
40
|
+
* Component cleanup on destroy
|
41
|
+
*/
|
42
|
+
ngOnDestroy(): void;
|
43
|
+
/**
|
44
|
+
* Loads weather data from the API
|
45
|
+
* Sets loading state and handles errors
|
46
|
+
*/
|
47
|
+
private loadWeatherData;
|
48
|
+
/**
|
49
|
+
* Sets up the auto-refresh timer based on configuration
|
50
|
+
*/
|
51
|
+
private setupRefreshTimer;
|
52
|
+
/**
|
53
|
+
* Clears the refresh timer subscription
|
54
|
+
*/
|
55
|
+
private clearRefreshTimer;
|
56
|
+
/**
|
57
|
+
* Manually refreshes the weather data
|
58
|
+
*/
|
59
|
+
protected refreshWeather(): void;
|
60
|
+
/**
|
61
|
+
* Gets the current temperature based on selected unit
|
62
|
+
*/
|
63
|
+
protected getCurrentTemperature(): number;
|
64
|
+
/**
|
65
|
+
* Gets the feels like temperature based on selected unit
|
66
|
+
*/
|
67
|
+
protected getFeelsLikeTemperature(): number;
|
68
|
+
/**
|
69
|
+
* Gets the humidity percentage
|
70
|
+
*/
|
71
|
+
protected getHumidity(): number;
|
72
|
+
/**
|
73
|
+
* Gets the wind speed based on selected unit
|
74
|
+
*/
|
75
|
+
protected getWindSpeed(): number;
|
76
|
+
/**
|
77
|
+
* Gets the current weather condition
|
78
|
+
*/
|
79
|
+
protected getCurrentCondition(): string;
|
80
|
+
/**
|
81
|
+
* Gets the formatted last updated time
|
82
|
+
*/
|
83
|
+
protected getLastUpdated(): string;
|
84
|
+
/**
|
85
|
+
* Gets the icon class for a weather condition
|
86
|
+
* @param conditionId Weather condition ID
|
87
|
+
* @returns Font Awesome icon class
|
88
|
+
*/
|
89
|
+
protected getConditionIcon(conditionId: string): string;
|
90
|
+
/**
|
91
|
+
* Gets the display name for a weather condition
|
92
|
+
* @param conditionId Weather condition ID
|
93
|
+
* @returns Condition display name
|
94
|
+
*/
|
95
|
+
protected getConditionName(conditionId: string): string;
|
96
|
+
/**
|
97
|
+
* Gets the color for a weather condition
|
98
|
+
* @param conditionId Weather condition ID
|
99
|
+
* @returns CSS color value
|
100
|
+
*/
|
101
|
+
protected getConditionColor(conditionId: string): string;
|
102
|
+
/**
|
103
|
+
* Cleans up chart resources
|
104
|
+
* Required by AXPChartBaseComponent
|
105
|
+
*/
|
106
|
+
protected cleanupChart(): void;
|
107
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPWeatherWidgetViewComponent, never>;
|
108
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXPWeatherWidgetViewComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
109
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { AXPWidgetConfig } from '@acorex/platform/layout/builder';
|
2
|
+
/**
|
3
|
+
* Weather Widget Configuration
|
4
|
+
* Provides customization options for displaying weather data and forecast
|
5
|
+
*/
|
6
|
+
export declare const AXPWeatherWidget: AXPWidgetConfig;
|
7
|
+
/**
|
8
|
+
* Type declaration to register the weather widget type
|
9
|
+
*/
|
10
|
+
declare module '@acorex/platform/layout/builder' {
|
11
|
+
interface AXPWidgetTypesMap {
|
12
|
+
weather: 'weather';
|
13
|
+
}
|
14
|
+
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { AXPStickyDirective, AXPGridLayoutDirective,
|
1
|
+
import { AXPStickyDirective, AXPGridLayoutDirective, AXPWorkflowNavigateAction, AXP_MENU_PROVIDER, AXPEntityCommandScope, AXPEntityQueryType } from '@acorex/platform/common';
|
2
2
|
import { AXPEntityDetailViewModelResolver, AXPEntityStorageService, AXPEntityDataProviderImpl, AXMEntityCrudServiceImpl, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';
|
3
3
|
import * as i1$1 from '@acorex/platform/workflow';
|
4
4
|
import { AXPWorkflowAction, AXPWorkflowModule } from '@acorex/platform/workflow';
|
@@ -31,7 +31,7 @@ import { AXPLayoutThemeService } from '@acorex/platform/themes/shared';
|
|
31
31
|
import { AXPWidgetsModule } from '@acorex/platform/widgets';
|
32
32
|
import * as i1 from '@angular/common';
|
33
33
|
import { CommonModule } from '@angular/common';
|
34
|
-
import { applySortArray, applyFilterArray } from '@acorex/platform/core';
|
34
|
+
import { AXPDataGenerator, applySortArray, applyFilterArray } from '@acorex/platform/core';
|
35
35
|
|
36
36
|
class AXPModuleEntityDetailViewComponent {
|
37
37
|
constructor() {
|