@acorex/modules 19.3.0 → 19.3.1

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.
Files changed (99) hide show
  1. package/dashboard-management/index.d.ts +1 -0
  2. package/dashboard-management/lib/dashboard-management.module.d.ts +2 -2
  3. package/dashboard-management/lib/features/shared/widgets/bar-chart/bar-chart-widget.component.d.ts +72 -0
  4. package/dashboard-management/lib/features/shared/widgets/bar-chart/bar-chart-widget.config.d.ts +7 -0
  5. package/dashboard-management/lib/features/shared/widgets/bar-chart/bar-chart.type.d.ts +34 -0
  6. package/dashboard-management/lib/features/shared/widgets/bar-chart/index.d.ts +2 -0
  7. package/dashboard-management/lib/features/shared/widgets/chart.type.d.ts +3 -0
  8. package/dashboard-management/lib/features/shared/widgets/clock-calendar/clock-calendar-widget.component.d.ts +40 -0
  9. package/dashboard-management/lib/features/shared/widgets/clock-calendar/clock-calendar-widget.config.d.ts +7 -0
  10. package/dashboard-management/lib/features/shared/widgets/clock-calendar/clock-calendar.types.d.ts +50 -0
  11. package/dashboard-management/lib/features/shared/widgets/clock-calendar/index.d.ts +3 -0
  12. package/dashboard-management/lib/features/shared/widgets/dashboard-shortcut/index.d.ts +2 -0
  13. package/dashboard-management/lib/features/shared/widgets/donut-chart/donut-chart-widget.component.d.ts +58 -0
  14. package/dashboard-management/lib/features/shared/widgets/donut-chart/donut-chart-widget.config.d.ts +7 -0
  15. package/dashboard-management/lib/features/shared/widgets/donut-chart/donut-chart.type.d.ts +67 -0
  16. package/dashboard-management/lib/features/shared/widgets/donut-chart/index.d.ts +2 -0
  17. package/dashboard-management/lib/features/shared/widgets/gauge-chart/gauge-chart-widget.component.d.ts +75 -0
  18. package/dashboard-management/lib/features/shared/widgets/gauge-chart/gauge-chart-widget.config.d.ts +7 -0
  19. package/dashboard-management/lib/features/shared/widgets/gauge-chart/gauge-chart.type.d.ts +29 -0
  20. package/dashboard-management/lib/features/shared/widgets/gauge-chart/index.d.ts +3 -0
  21. package/dashboard-management/lib/features/shared/widgets/index.d.ts +11 -0
  22. package/dashboard-management/lib/features/shared/widgets/line-chart/index.d.ts +3 -0
  23. package/dashboard-management/lib/features/shared/widgets/line-chart/line-chart-widget.component.d.ts +76 -0
  24. package/dashboard-management/lib/features/shared/widgets/line-chart/line-chart-widget.config.d.ts +7 -0
  25. package/dashboard-management/lib/features/shared/widgets/line-chart/line-chart.type.d.ts +41 -0
  26. package/dashboard-management/lib/features/shared/widgets/notification/index.d.ts +3 -0
  27. package/dashboard-management/lib/features/shared/widgets/notification/notification-widget.component.d.ts +54 -0
  28. package/dashboard-management/lib/features/shared/widgets/notification/notification-widget.config.d.ts +10 -0
  29. package/dashboard-management/lib/features/shared/widgets/notification/notification.type.d.ts +47 -0
  30. package/dashboard-management/lib/features/shared/widgets/shared/chart-base.component.d.ts +44 -0
  31. package/dashboard-management/lib/features/shared/widgets/shared/chart-base.type.d.ts +37 -0
  32. package/dashboard-management/lib/features/shared/widgets/shared/components/chart-tooltip/chart-tooltip.component.d.ts +28 -0
  33. package/dashboard-management/lib/features/shared/widgets/shared/components/chart-tooltip/index.d.ts +1 -0
  34. package/dashboard-management/lib/features/shared/widgets/shared/index.d.ts +3 -0
  35. package/dashboard-management/lib/features/shared/widgets/sticky-note/index.d.ts +2 -0
  36. package/dashboard-management/lib/features/shared/widgets/sticky-note/sticky-note-widget.component.d.ts +21 -0
  37. package/dashboard-management/lib/features/shared/widgets/sticky-note/sticky-note-widget.config.d.ts +7 -0
  38. package/dashboard-management/lib/features/shared/widgets/tasklist/index.d.ts +3 -0
  39. package/dashboard-management/lib/features/shared/widgets/tasklist/tasklist-widget.component.d.ts +34 -0
  40. package/dashboard-management/lib/features/shared/widgets/tasklist/tasklist-widget.config.d.ts +7 -0
  41. package/dashboard-management/lib/features/shared/widgets/tasklist/tasklist.type.d.ts +36 -0
  42. package/dashboard-management/lib/features/shared/widgets/weather/index.d.ts +3 -0
  43. package/dashboard-management/lib/features/shared/widgets/weather/weather-services/index.d.ts +3 -0
  44. package/dashboard-management/lib/features/shared/widgets/weather/weather-services/weather-api.abstract.d.ts +174 -0
  45. package/dashboard-management/lib/features/shared/widgets/weather/weather-services/weather-api.key.d.ts +2 -0
  46. package/dashboard-management/lib/features/shared/widgets/weather/weather-services/weather-api.mock.service.d.ts +47 -0
  47. package/dashboard-management/lib/features/shared/widgets/weather/weather-services/weather-api.service.d.ts +48 -0
  48. package/dashboard-management/lib/features/shared/widgets/weather/weather-widget.component.d.ts +109 -0
  49. package/dashboard-management/lib/features/shared/widgets/weather/weather-widget.config.d.ts +14 -0
  50. package/fesm2022/acorex-modules-application-management.mjs +2 -2
  51. package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
  52. package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-CReOsVhq.mjs +5083 -0
  53. package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-CReOsVhq.mjs.map +1 -0
  54. package/fesm2022/{acorex-modules-dashboard-management-index-Br6L5KMu.mjs → acorex-modules-dashboard-management-home-dashboard-CHXDeuSF.mjs} +7 -7
  55. package/fesm2022/acorex-modules-dashboard-management-home-dashboard-CHXDeuSF.mjs.map +1 -0
  56. package/fesm2022/acorex-modules-dashboard-management.mjs +1 -1
  57. 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
  58. package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-Cv92x_9Z.mjs.map +1 -0
  59. package/fesm2022/{acorex-modules-form-template-management-category.entity-nErIyYxr.mjs → acorex-modules-form-template-management-category.entity-DPVwQW4X.mjs} +2 -2
  60. package/fesm2022/{acorex-modules-form-template-management-category.entity-nErIyYxr.mjs.map → acorex-modules-form-template-management-category.entity-DPVwQW4X.mjs.map} +1 -1
  61. package/fesm2022/{acorex-modules-form-template-management-settings.provider-CROST06h.mjs → acorex-modules-form-template-management-settings.provider-iwOUp0iw.mjs} +2 -2
  62. package/fesm2022/{acorex-modules-form-template-management-settings.provider-CROST06h.mjs.map → acorex-modules-form-template-management-settings.provider-iwOUp0iw.mjs.map} +1 -1
  63. 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
  64. 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
  65. package/fesm2022/{acorex-modules-form-template-management-template.entity-HSE5R67l.mjs → acorex-modules-form-template-management-template.entity-NgmH7r8R.mjs} +2 -2
  66. package/fesm2022/{acorex-modules-form-template-management-template.entity-HSE5R67l.mjs.map → acorex-modules-form-template-management-template.entity-NgmH7r8R.mjs.map} +1 -1
  67. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-pi15hXWY.mjs → acorex-modules-form-template-management-viewer-popup.component-Cq33xA62.mjs} +2 -2
  68. 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
  69. package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
  70. package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-DhuDuKkz.mjs → acorex-modules-issue-management-acorex-modules-issue-management-Q47ZZSSE.mjs} +4 -3
  71. package/fesm2022/acorex-modules-issue-management-acorex-modules-issue-management-Q47ZZSSE.mjs.map +1 -0
  72. package/fesm2022/{acorex-modules-issue-management-capture-screen.component-XFV3kuzQ.mjs → acorex-modules-issue-management-capture-screen.component-Dns1Wrkd.mjs} +2 -2
  73. package/fesm2022/{acorex-modules-issue-management-capture-screen.component-XFV3kuzQ.mjs.map → acorex-modules-issue-management-capture-screen.component-Dns1Wrkd.mjs.map} +1 -1
  74. package/fesm2022/acorex-modules-issue-management.mjs +1 -1
  75. package/fesm2022/acorex-modules-notification-management.mjs +2 -1
  76. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  77. package/fesm2022/{acorex-modules-organization-management-org-chart.page-eDTvyQpA.mjs → acorex-modules-organization-management-org-chart.page-DnRbGIWN.mjs} +3 -3
  78. package/fesm2022/acorex-modules-organization-management-org-chart.page-DnRbGIWN.mjs.map +1 -0
  79. package/fesm2022/acorex-modules-organization-management.mjs +2 -2
  80. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-DHA8LTwL.mjs → acorex-modules-platform-management-acorex-modules-platform-management-DIsYLKbA.mjs} +57 -4
  81. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-DHA8LTwL.mjs.map → acorex-modules-platform-management-acorex-modules-platform-management-DIsYLKbA.mjs.map} +1 -1
  82. package/fesm2022/{acorex-modules-platform-management-list-version.component-DgDjbODD.mjs → acorex-modules-platform-management-list-version.component-D83yTFAm.mjs} +2 -2
  83. package/fesm2022/{acorex-modules-platform-management-list-version.component-DgDjbODD.mjs.map → acorex-modules-platform-management-list-version.component-D83yTFAm.mjs.map} +1 -1
  84. package/fesm2022/{acorex-modules-platform-management-settings.provider-W71pfOmi.mjs → acorex-modules-platform-management-settings.provider-DKkXCwrd.mjs} +2 -2
  85. package/fesm2022/{acorex-modules-platform-management-settings.provider-W71pfOmi.mjs.map → acorex-modules-platform-management-settings.provider-DKkXCwrd.mjs.map} +1 -1
  86. package/fesm2022/acorex-modules-platform-management.mjs +1 -1
  87. package/package.json +1 -1
  88. package/dashboard-management/lib/features/home-dashboard/home-dashboard.module.d.ts +0 -7
  89. package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-DuvWGfl1.mjs +0 -568
  90. package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-DuvWGfl1.mjs.map +0 -1
  91. package/fesm2022/acorex-modules-dashboard-management-dashboard-shortcut-widget-view.component-C9RGRmuR.mjs +0 -139
  92. package/fesm2022/acorex-modules-dashboard-management-dashboard-shortcut-widget-view.component-C9RGRmuR.mjs.map +0 -1
  93. package/fesm2022/acorex-modules-dashboard-management-index-Br6L5KMu.mjs.map +0 -1
  94. package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-DO18V9JK.mjs.map +0 -1
  95. package/fesm2022/acorex-modules-issue-management-acorex-modules-issue-management-DhuDuKkz.mjs.map +0 -1
  96. package/fesm2022/acorex-modules-organization-management-org-chart.page-eDTvyQpA.mjs.map +0 -1
  97. /package/dashboard-management/lib/features/{home-dashboard → shared}/widgets/dashboard-shortcut/dashboard-shortcut-widget-view.component.d.ts +0 -0
  98. /package/dashboard-management/lib/features/{home-dashboard → shared}/widgets/dashboard-shortcut/dashboard-shortcut-widget.config.d.ts +0 -0
  99. /package/dashboard-management/lib/{features/home-dashboard/setrting.keys.d.ts → settings.keys.d.ts} +0 -0
@@ -0,0 +1,54 @@
1
+ import { AXTabStripChangedEvent } from '@acorex/components/tabs';
2
+ import { AXPValueWidgetComponent } from '@acorex/platform/layout/builder';
3
+ import { AXPNotificationData, AXPNotificationValue } from './notification.type';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Notification Widget Component
7
+ * Displays notifications in a card with tabs
8
+ */
9
+ export declare class AXPNotificationWidgetViewComponent extends AXPValueWidgetComponent<AXPNotificationValue> {
10
+ notificationClick: import("@angular/core").OutputEmitterRef<AXPNotificationData>;
11
+ markAsRead: import("@angular/core").OutputEmitterRef<AXPNotificationData>;
12
+ private readonly cdr;
13
+ private readonly datePipe;
14
+ protected activeTab: import("@angular/core").WritableSignal<"new" | "all">;
15
+ protected readonly maxItems: import("@angular/core").Signal<any>;
16
+ protected readonly showAvatar: import("@angular/core").Signal<any>;
17
+ protected readonly showDate: import("@angular/core").Signal<any>;
18
+ protected readonly notificationItems: import("@angular/core").Signal<AXPNotificationData[]>;
19
+ /**
20
+ * Get the count of new messages for the badge
21
+ */
22
+ protected getNewMessageCount(): number;
23
+ /**
24
+ * Handle tab change event from ax-tabs component
25
+ * @param index The index of the tab that was activated
26
+ */
27
+ protected handleTabChange(data: AXTabStripChangedEvent): void;
28
+ /**
29
+ * Mark all notifications as read
30
+ */
31
+ protected markAllAsRead(): void;
32
+ /**
33
+ * Change the active tab
34
+ */
35
+ protected onTabChange(tabName: 'new' | 'all'): void;
36
+ /**
37
+ * Handle notification click event
38
+ */
39
+ protected onNotificationClick(notification: AXPNotificationData): void;
40
+ /**
41
+ * Format the timestamp in a user-friendly way
42
+ */
43
+ protected formatTime(date: Date | string | undefined): string;
44
+ /**
45
+ * Mark notification as read if needed
46
+ */
47
+ private markAsReadIfNeeded;
48
+ /**
49
+ * Calculate days difference from now
50
+ */
51
+ private getDaysDifference;
52
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPNotificationWidgetViewComponent, never>;
53
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPNotificationWidgetViewComponent, "ng-component", never, {}, { "notificationClick": "notificationClick"; "markAsRead": "markAsRead"; }, never, never, true, never>;
54
+ }
@@ -0,0 +1,10 @@
1
+ import { AXPWidgetConfig } from '@acorex/platform/layout/builder';
2
+ /**
3
+ * Configuration for the Notification Widget
4
+ */
5
+ export declare const AXPNotificationWidget: AXPWidgetConfig;
6
+ declare module '@acorex/platform/layout/builder' {
7
+ interface AXPWidgetTypesMap {
8
+ notification: 'notification';
9
+ }
10
+ }
@@ -0,0 +1,47 @@
1
+ import { AXPWidgetDataSource } from '@acorex/platform/layout/builder';
2
+ export type AXPNotificationChannel = 'InApp' | 'Email' | 'SMS';
3
+ export type AXPNotificationCategory = 'Inbox' | 'Archive';
4
+ export type AXPNotificationPriority = 'Warning' | 'Danger' | 'Notice';
5
+ export type AXPNotificationType = 'File' | 'Person' | 'Notification';
6
+ export type AXPNotificationActionType = 'Link' | 'Entity' | 'Popup';
7
+ /**
8
+ * Notification item data structure
9
+ */
10
+ export interface AXPNotificationData {
11
+ id: string;
12
+ title: string;
13
+ body: string;
14
+ channel: AXPNotificationChannel;
15
+ content: {
16
+ type: AXPNotificationType;
17
+ data: object;
18
+ };
19
+ action?: {
20
+ type: AXPNotificationActionType;
21
+ data: {
22
+ [key: string]: unknown;
23
+ };
24
+ };
25
+ user: {
26
+ id: string;
27
+ name: string;
28
+ image: string;
29
+ };
30
+ template: {
31
+ category: AXPNotificationCategory;
32
+ priority: AXPNotificationPriority;
33
+ icon: string;
34
+ isPinned: boolean;
35
+ };
36
+ readAt: Date | null;
37
+ createdAt: Date;
38
+ entityName?: string;
39
+ }
40
+ /**
41
+ * Notification widget value structure
42
+ */
43
+ export interface AXPNotificationValue {
44
+ data: AXPNotificationData[];
45
+ dataSource?: AXPWidgetDataSource;
46
+ total?: number;
47
+ }
@@ -0,0 +1,44 @@
1
+ import { AXPValueWidgetComponent } from '@acorex/platform/layout/builder';
2
+ import { AfterViewInit, ChangeDetectorRef, ElementRef, OnDestroy, OnInit } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Base component class for all chart components with common chart functionality
6
+ */
7
+ export declare abstract class AXPChartBaseComponent<TData> extends AXPValueWidgetComponent<TData> implements OnInit, AfterViewInit, OnDestroy {
8
+ protected cdr: ChangeDetectorRef;
9
+ protected d3: typeof import('d3');
10
+ private injector;
11
+ protected isInitialized: import("@angular/core").WritableSignal<boolean>;
12
+ protected isRendered: import("@angular/core").WritableSignal<boolean>;
13
+ protected _internalData: import("@angular/core").WritableSignal<TData | null>;
14
+ protected chartData: import("@angular/core").Signal<TData>;
15
+ protected _lastOptionsSnapshot: string;
16
+ private effectRef;
17
+ constructor(cdr: ChangeDetectorRef);
18
+ ngOnInit(): void;
19
+ ngAfterViewInit(): void;
20
+ ngOnDestroy(): void;
21
+ /**
22
+ * Load D3.js library asynchronously
23
+ */
24
+ protected loadD3(): Promise<void>;
25
+ /**
26
+ * Set up reactive effects to track data and option changes
27
+ */
28
+ protected setupEffects(): void;
29
+ /**
30
+ * Abstract methods that child classes must implement
31
+ */
32
+ protected abstract createChart(): void;
33
+ protected abstract updateChart(): void;
34
+ protected abstract cleanupChart(): void;
35
+ /**
36
+ * Get dimensions of the container element
37
+ */
38
+ protected getContainerDimensions(containerElement: ElementRef<HTMLElement>): {
39
+ width: number;
40
+ height: number;
41
+ };
42
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPChartBaseComponent<any>, never>;
43
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AXPChartBaseComponent<any>, never, never, {}, {}, never, never, true, never>;
44
+ }
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Common base types and utilities for all chart components
3
+ */
4
+ /**
5
+ * Base chart data interface that all chart data types extend
6
+ */
7
+ export interface AXPChartDataBase {
8
+ id: string;
9
+ color?: string;
10
+ }
11
+ /**
12
+ * Base chart options interface with common properties
13
+ */
14
+ export interface AXPChartOptionBase {
15
+ width?: number;
16
+ height?: number;
17
+ animationEnabled?: boolean;
18
+ animationDuration?: number;
19
+ showTooltip?: boolean;
20
+ tooltipPosition?: 'auto' | 'fixed';
21
+ showLegend?: boolean;
22
+ legendPosition?: 'bottom' | 'right' | 'top' | 'left';
23
+ theme?: 'light' | 'dark' | 'auto';
24
+ colorScheme?: string | string[];
25
+ }
26
+ /**
27
+ * Color utility functions for charts
28
+ */
29
+ export declare const AXPChartColors: {
30
+ defaultColors: string[];
31
+ getColor: (index: number, customPalette?: string[]) => string;
32
+ generatePalette: (baseColor: string, count: number) => string[];
33
+ };
34
+ /**
35
+ * Shared utility for loading D3.js dynamically
36
+ */
37
+ export declare function loadD3(): Promise<any>;
@@ -0,0 +1,28 @@
1
+ import * as i0 from "@angular/core";
2
+ export interface AXPChartTooltipData {
3
+ title: string;
4
+ value: number | string;
5
+ percentage?: string;
6
+ color?: string;
7
+ [key: string]: any;
8
+ }
9
+ export declare class AXPChartTooltipComponent {
10
+ data: import("@angular/core").InputSignal<AXPChartTooltipData | null>;
11
+ position: import("@angular/core").InputSignal<{
12
+ x: number;
13
+ y: number;
14
+ }>;
15
+ visible: import("@angular/core").InputSignal<boolean>;
16
+ /**
17
+ * Whether to show the tooltip's percentage badge
18
+ */
19
+ showPercentage: import("@angular/core").InputSignal<boolean>;
20
+ /**
21
+ * Optional custom styling for the tooltip
22
+ */
23
+ style: import("@angular/core").InputSignal<{
24
+ [key: string]: string;
25
+ }>;
26
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPChartTooltipComponent, never>;
27
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPChartTooltipComponent, "ax-chart-tooltip", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "showPercentage": { "alias": "showPercentage"; "required": false; "isSignal": true; }; "style": { "alias": "style"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
28
+ }
@@ -0,0 +1 @@
1
+ export * from './chart-tooltip.component';
@@ -0,0 +1,3 @@
1
+ export * from './chart-base.component';
2
+ export * from './chart-base.type';
3
+ export * from './components/chart-tooltip';
@@ -0,0 +1,2 @@
1
+ export * from './sticky-note-widget.component';
2
+ export * from './sticky-note-widget.config';
@@ -0,0 +1,21 @@
1
+ import { AXValueChangedEvent } from '@acorex/components/common';
2
+ import { AXPValueWidgetComponent } from '@acorex/platform/layout/builder';
3
+ import { OnInit } from '@angular/core';
4
+ import * as i0 from "@angular/core";
5
+ export declare class AXPStickyNoteWidgetViewComponent extends AXPValueWidgetComponent<string> implements OnInit {
6
+ protected isEditing: import("@angular/core").WritableSignal<boolean>;
7
+ private wysiwyg;
8
+ protected value: import("@angular/core").Signal<string>;
9
+ protected date: import("@angular/core").Signal<any>;
10
+ protected bgColor: import("@angular/core").Signal<any>;
11
+ protected color: import("@angular/core").WritableSignal<string>;
12
+ private el;
13
+ protected colorPresets: string[];
14
+ handleClickOutside(event: MouseEvent): void;
15
+ protected activateEdit(): void;
16
+ protected saveChanges(): void;
17
+ protected setColor(color: string): void;
18
+ protected valueChange(event: AXValueChangedEvent<any>): void;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPStickyNoteWidgetViewComponent, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPStickyNoteWidgetViewComponent, "ng-component", never, {}, {}, never, never, true, never>;
21
+ }
@@ -0,0 +1,7 @@
1
+ import { AXPWidgetConfig } from '@acorex/platform/layout/builder';
2
+ export declare const AXPStickyNoteWidget: AXPWidgetConfig;
3
+ declare module '@acorex/platform/layout/builder' {
4
+ interface AXPWidgetTypesMap {
5
+ stickyNote: 'sticky-note';
6
+ }
7
+ }
@@ -0,0 +1,3 @@
1
+ export * from './tasklist-widget.component';
2
+ export * from './tasklist-widget.config';
3
+ export * from './tasklist.type';
@@ -0,0 +1,34 @@
1
+ import { AXPValueWidgetComponent } from '@acorex/platform/layout/builder';
2
+ import { AXPTaskData, AXPTaskListValue } from './tasklist.type';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Task List Widget Component
6
+ * Displays a list of tasks with checkboxes and filtering options
7
+ */
8
+ export declare class AXPTaskListWidgetViewComponent extends AXPValueWidgetComponent<AXPTaskListValue> {
9
+ taskClick: import("@angular/core").OutputEmitterRef<AXPTaskData>;
10
+ taskCompleted: import("@angular/core").OutputEmitterRef<AXPTaskData>;
11
+ private readonly cdr;
12
+ private readonly datePipe;
13
+ protected readonly maxItems: import("@angular/core").Signal<any>;
14
+ protected readonly showDate: import("@angular/core").Signal<any>;
15
+ protected readonly showAssignee: import("@angular/core").Signal<any>;
16
+ protected readonly showPriority: import("@angular/core").Signal<any>;
17
+ protected readonly allowMarkComplete: import("@angular/core").Signal<any>;
18
+ protected readonly showCategories: import("@angular/core").Signal<any>;
19
+ protected readonly taskItems: import("@angular/core").Signal<AXPTaskData[]>;
20
+ protected getPendingTaskCount(): number;
21
+ protected getCompletedTaskCount(): number;
22
+ protected hasCategories(): boolean;
23
+ protected getCategories(): string[];
24
+ protected getTasksByCategory(category: string): AXPTaskData[];
25
+ protected getCategoryTaskCount(category: string): number;
26
+ protected onTaskClick(task: AXPTaskData): void;
27
+ protected onTaskCompletionChange(task: AXPTaskData, isCompleted: boolean): void;
28
+ protected formatDueDate(date: Date | string | undefined): string;
29
+ protected getPriorityColor(priority: string | undefined): string;
30
+ private getFilteredTasks;
31
+ protected getDaysDifference(date: Date): number;
32
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPTaskListWidgetViewComponent, never>;
33
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPTaskListWidgetViewComponent, "ng-component", never, {}, { "taskClick": "taskClick"; "taskCompleted": "taskCompleted"; }, never, never, true, never>;
34
+ }
@@ -0,0 +1,7 @@
1
+ import { AXPWidgetConfig } from '@acorex/platform/layout/builder';
2
+ export declare const AXPTaskListWidget: AXPWidgetConfig;
3
+ declare module '@acorex/platform/layout/builder' {
4
+ interface AXPWidgetTypesMap {
5
+ taskList: 'task-list';
6
+ }
7
+ }
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Task List Data structure
3
+ */
4
+ export interface AXPTaskData {
5
+ id: string;
6
+ title: string;
7
+ completed: boolean;
8
+ priority?: 'low' | 'medium' | 'high';
9
+ dueDate?: Date | string;
10
+ category?: string;
11
+ assignedTo?: {
12
+ id: string;
13
+ name: string;
14
+ image?: string;
15
+ };
16
+ createdAt: Date | string;
17
+ }
18
+ /**
19
+ * Task List Widget Value
20
+ */
21
+ export interface AXPTaskListValue {
22
+ data: AXPTaskData[];
23
+ }
24
+ /**
25
+ * Task List Widget Options
26
+ */
27
+ export interface AXPTaskListOptions {
28
+ maxItems?: number;
29
+ showDate?: boolean;
30
+ showAssignee?: boolean;
31
+ showCategory?: boolean;
32
+ showPriority?: boolean;
33
+ groupByCategory?: boolean;
34
+ groupByPriority?: boolean;
35
+ allowMarkComplete?: boolean;
36
+ }
@@ -0,0 +1,3 @@
1
+ export * from './weather-services';
2
+ export * from './weather-widget.component';
3
+ export * from './weather-widget.config';
@@ -0,0 +1,3 @@
1
+ export * from './weather-api.abstract';
2
+ export * from './weather-api.mock.service';
3
+ export * from './weather-api.service';
@@ -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,2 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export declare const AXP_WEATHER_API_KEY: InjectionToken<string>;
@@ -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
+ }