@acorex/platform 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.
Files changed (73) hide show
  1. package/common/lib/home-page/home-page-settings.provider.d.ts +1 -0
  2. package/common/lib/utils/index.d.ts +0 -1
  3. package/fesm2022/acorex-platform-common.mjs +3 -135
  4. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-layout-components.mjs +277 -0
  6. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -0
  7. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  8. package/fesm2022/acorex-platform-layout-entity.mjs +0 -9
  9. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  10. package/fesm2022/acorex-platform-themes-default.mjs +13 -4
  11. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  12. package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-CybYV1Kf.mjs → acorex-platform-widgets-tabular-data-edit-popup.component-1IseEVXQ.mjs} +2 -2
  13. package/fesm2022/acorex-platform-widgets-tabular-data-edit-popup.component-1IseEVXQ.mjs.map +1 -0
  14. package/fesm2022/acorex-platform-widgets.mjs +8 -4395
  15. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  16. package/layout/components/README.md +3 -0
  17. package/layout/components/index.d.ts +1 -0
  18. package/layout/components/lib/user-avatar/index.d.ts +4 -0
  19. package/layout/components/lib/user-avatar/user-avatar.component.d.ts +38 -0
  20. package/layout/components/lib/user-avatar/user-avatar.provider.d.ts +3 -0
  21. package/layout/components/lib/user-avatar/user-avatar.service.d.ts +42 -0
  22. package/layout/components/lib/user-avatar/user-avatar.types.d.ts +13 -0
  23. package/package.json +5 -1
  24. package/themes/default/lib/layouts/base/page-layout/page-layout.component.d.ts +2 -0
  25. package/widgets/lib/widgets/index.d.ts +0 -11
  26. package/common/lib/utils/data-generator.d.ts +0 -26
  27. package/fesm2022/acorex-platform-widgets-tabular-data-edit-popup.component-CybYV1Kf.mjs.map +0 -1
  28. package/widgets/lib/widgets/charts/bar-chart/bar-chart-widget.component.d.ts +0 -72
  29. package/widgets/lib/widgets/charts/bar-chart/bar-chart-widget.config.d.ts +0 -7
  30. package/widgets/lib/widgets/charts/bar-chart/bar-chart.type.d.ts +0 -34
  31. package/widgets/lib/widgets/charts/bar-chart/index.d.ts +0 -2
  32. package/widgets/lib/widgets/charts/chart.type.d.ts +0 -3
  33. package/widgets/lib/widgets/charts/clock-calendar/clock-calendar-widget.component.d.ts +0 -40
  34. package/widgets/lib/widgets/charts/clock-calendar/clock-calendar-widget.config.d.ts +0 -7
  35. package/widgets/lib/widgets/charts/clock-calendar/clock-calendar.types.d.ts +0 -50
  36. package/widgets/lib/widgets/charts/clock-calendar/index.d.ts +0 -3
  37. package/widgets/lib/widgets/charts/donut-chart/donut-chart-widget.component.d.ts +0 -58
  38. package/widgets/lib/widgets/charts/donut-chart/donut-chart-widget.config.d.ts +0 -7
  39. package/widgets/lib/widgets/charts/donut-chart/donut-chart.type.d.ts +0 -67
  40. package/widgets/lib/widgets/charts/donut-chart/index.d.ts +0 -2
  41. package/widgets/lib/widgets/charts/gauge-chart/gauge-chart-widget.component.d.ts +0 -75
  42. package/widgets/lib/widgets/charts/gauge-chart/gauge-chart-widget.config.d.ts +0 -7
  43. package/widgets/lib/widgets/charts/gauge-chart/gauge-chart.type.d.ts +0 -29
  44. package/widgets/lib/widgets/charts/gauge-chart/index.d.ts +0 -3
  45. package/widgets/lib/widgets/charts/index.d.ts +0 -11
  46. package/widgets/lib/widgets/charts/line-chart/index.d.ts +0 -3
  47. package/widgets/lib/widgets/charts/line-chart/line-chart-widget.component.d.ts +0 -76
  48. package/widgets/lib/widgets/charts/line-chart/line-chart-widget.config.d.ts +0 -7
  49. package/widgets/lib/widgets/charts/line-chart/line-chart.type.d.ts +0 -41
  50. package/widgets/lib/widgets/charts/notification/index.d.ts +0 -3
  51. package/widgets/lib/widgets/charts/notification/notification-widget.component.d.ts +0 -54
  52. package/widgets/lib/widgets/charts/notification/notification-widget.config.d.ts +0 -10
  53. package/widgets/lib/widgets/charts/notification/notification.type.d.ts +0 -47
  54. package/widgets/lib/widgets/charts/shared/chart-base.component.d.ts +0 -44
  55. package/widgets/lib/widgets/charts/shared/chart-base.type.d.ts +0 -37
  56. package/widgets/lib/widgets/charts/shared/components/chart-tooltip/chart-tooltip.component.d.ts +0 -28
  57. package/widgets/lib/widgets/charts/shared/components/chart-tooltip/index.d.ts +0 -1
  58. package/widgets/lib/widgets/charts/shared/index.d.ts +0 -3
  59. package/widgets/lib/widgets/charts/sticky-note/index.d.ts +0 -2
  60. package/widgets/lib/widgets/charts/sticky-note/sticky-note-widget.component.d.ts +0 -21
  61. package/widgets/lib/widgets/charts/sticky-note/sticky-note-widget.config.d.ts +0 -7
  62. package/widgets/lib/widgets/charts/tasklist/index.d.ts +0 -3
  63. package/widgets/lib/widgets/charts/tasklist/tasklist-widget.component.d.ts +0 -34
  64. package/widgets/lib/widgets/charts/tasklist/tasklist-widget.config.d.ts +0 -7
  65. package/widgets/lib/widgets/charts/tasklist/tasklist.type.d.ts +0 -36
  66. package/widgets/lib/widgets/charts/weather/index.d.ts +0 -3
  67. package/widgets/lib/widgets/charts/weather/weather-services/index.d.ts +0 -3
  68. package/widgets/lib/widgets/charts/weather/weather-services/weather-api.abstract.d.ts +0 -174
  69. package/widgets/lib/widgets/charts/weather/weather-services/weather-api.key.d.ts +0 -2
  70. package/widgets/lib/widgets/charts/weather/weather-services/weather-api.mock.service.d.ts +0 -47
  71. package/widgets/lib/widgets/charts/weather/weather-services/weather-api.service.d.ts +0 -48
  72. package/widgets/lib/widgets/charts/weather/weather-widget.component.d.ts +0 -109
  73. package/widgets/lib/widgets/charts/weather/weather-widget.config.d.ts +0 -14
@@ -0,0 +1,3 @@
1
+ # @acorex/platform/components
2
+
3
+ Secondary entry point of `@acorex/platform`. It can be used by importing from `@acorex/platform/components`.
@@ -0,0 +1 @@
1
+ export * from './lib/user-avatar';
@@ -0,0 +1,4 @@
1
+ export * from './user-avatar.service';
2
+ export * from './user-avatar.types';
3
+ export * from './user-avatar.provider';
4
+ export * from './user-avatar.component';
@@ -0,0 +1,38 @@
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
+ import { AXHtmlEvent } from '@acorex/components/common';
3
+ import { AXPUserAvatarData } from './user-avatar.types';
4
+ import * as i0 from "@angular/core";
5
+ export declare class AXPUserAvatarComponent implements OnInit, OnDestroy {
6
+ private readonly userAvatarService;
7
+ private readonly destroy$;
8
+ protected userInfo: import("@angular/core").WritableSignal<AXPUserAvatarData | null>;
9
+ size: import("@angular/core").InputSignal<number>;
10
+ userId: import("@angular/core").InputSignal<string>;
11
+ src: import("@angular/core").WritableSignal<string>;
12
+ userName: import("@angular/core").Signal<string>;
13
+ firstName: import("@angular/core").Signal<string>;
14
+ lastName: import("@angular/core").Signal<string>;
15
+ title: import("@angular/core").Signal<string>;
16
+ isOnline: import("@angular/core").Signal<boolean>;
17
+ avatarText: import("@angular/core").Signal<string>;
18
+ avatarColor: import("@angular/core").Signal<string>;
19
+ protected hasPicture: import("@angular/core").WritableSignal<boolean>;
20
+ protected onImageError(event: AXHtmlEvent<ErrorEvent>): void;
21
+ protected onImageLoad(event: AXHtmlEvent<Event>): void;
22
+ ngOnInit(): void;
23
+ ngOnDestroy(): void;
24
+ private loadUserData;
25
+ /**
26
+ * Generate avatar image source
27
+ * This is a placeholder - implement based on your actual requirements
28
+ */
29
+ private generateAvatarSrc;
30
+ /**
31
+ * Get initials from first and last name
32
+ */
33
+ private getInitials;
34
+ private hashString;
35
+ private pickColor;
36
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPUserAvatarComponent, never>;
37
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPUserAvatarComponent, "axp-user-avatar", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "userId": { "alias": "userId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
38
+ }
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from "@angular/core";
2
+ import { AXPUserAvatarProvider } from "./user-avatar.types";
3
+ export declare const AXP_USER_AVATAR_PROVIDER: InjectionToken<AXPUserAvatarProvider>;
@@ -0,0 +1,42 @@
1
+ import { AXPUserAvatarData } from "./user-avatar.types";
2
+ import { Observable } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export declare class AXPUserAvatarService {
5
+ private provider;
6
+ private readonly cacheExpiryTime;
7
+ private readonly refreshInterval;
8
+ private cache;
9
+ /**
10
+ * Gets user information with caching and auto-refresh
11
+ * @param userId The username to fetch information for
12
+ * @returns Observable that emits user avatar data
13
+ */
14
+ getUserInfo$(userId: string): Observable<AXPUserAvatarData>;
15
+ /**
16
+ * Gets user information (Promise-based for backward compatibility)
17
+ * @param userId The username to fetch information for
18
+ * @returns Promise that resolves to user avatar data
19
+ */
20
+ getUserInfo(userId: string): Promise<AXPUserAvatarData>;
21
+ /**
22
+ * Clears the entire cache or a specific user's cache
23
+ * @param userId Optional username to clear specific cache
24
+ */
25
+ clearCache(userId?: string): void;
26
+ /**
27
+ * Force refresh data for a specific username
28
+ * @param userId The username to refresh
29
+ * @returns Promise that resolves to the refreshed data
30
+ */
31
+ refreshUserInfo(userId: string): Promise<AXPUserAvatarData>;
32
+ /**
33
+ * Checks if a cache entry is expired
34
+ */
35
+ private isExpired;
36
+ /**
37
+ * Fetches data from provider and updates the cache
38
+ */
39
+ private fetchAndUpdateCache;
40
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPUserAvatarService, never>;
41
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPUserAvatarService>;
42
+ }
@@ -0,0 +1,13 @@
1
+ export type AXPUserAvatarSize = 'small' | 'medium' | 'large';
2
+ export type AXPUserAvatarStatus = 'online' | 'offline';
3
+ export type AXPUserAvatarData = {
4
+ id: string;
5
+ status: AXPUserAvatarStatus;
6
+ username: string;
7
+ firstName: string;
8
+ lastName?: string;
9
+ avatarUrl?: string;
10
+ };
11
+ export interface AXPUserAvatarProvider {
12
+ provide(userId: string): Promise<AXPUserAvatarData>;
13
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/platform",
3
- "version": "19.3.0",
3
+ "version": "19.3.2",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=19.0.0",
6
6
  "@angular/core": ">=19.0.0",
@@ -68,6 +68,10 @@
68
68
  "types": "./layout/builder/index.d.ts",
69
69
  "default": "./fesm2022/acorex-platform-layout-builder.mjs"
70
70
  },
71
+ "./layout/components": {
72
+ "types": "./layout/components/index.d.ts",
73
+ "default": "./fesm2022/acorex-platform-layout-components.mjs"
74
+ },
71
75
  "./layout/designer": {
72
76
  "types": "./layout/designer/index.d.ts",
73
77
  "default": "./fesm2022/acorex-platform-layout-designer.mjs"
@@ -1,3 +1,4 @@
1
+ import { AXClickEvent } from '@acorex/components/common';
1
2
  import { AXDrawerItemDirective } from '@acorex/cdk/drawer';
2
3
  import { AXPActionMenuItem, AXPExecuteCommand } from '@acorex/platform/core';
3
4
  import { AXPWorkflowService } from '@acorex/platform/workflow';
@@ -73,6 +74,7 @@ export declare class AXPPageLayoutComponent {
73
74
  protected handleActionClick(item: AXPActionMenuItem): void;
74
75
  toggleStartSide(): void;
75
76
  protected handleSecondaryActionClick(item: AXPActionMenuItem): void;
77
+ protected handleBackdropClick(e: AXClickEvent): boolean;
76
78
  protected execute(command: AXPExecuteCommand): Promise<void>;
77
79
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPPageLayoutComponent, never>;
78
80
  static ɵcmp: i0.ɵɵComponentDeclaration<AXPPageLayoutComponent, "axp-page-layout", never, {}, {}, never, ["axp-layout-start-side", "axp-page-toolbar", "axp-page-content", "axp-page-footer"], true, [{ directive: typeof i1.AXDrawerContainerDirective; inputs: {}; outputs: {}; }]>;
@@ -41,14 +41,3 @@ export * from './validations/max-length-validation';
41
41
  export * from './validations/min-length-validation';
42
42
  export * from './validations/regular-expression-validation';
43
43
  export * from './validations/required-validation';
44
- export * from './charts/bar-chart';
45
- export * from './charts/chart.type';
46
- export * from './charts/clock-calendar';
47
- export * from './charts/donut-chart';
48
- export * from './charts/gauge-chart';
49
- export * from './charts/line-chart';
50
- export * from './charts/notification';
51
- export * from './charts/shared';
52
- export * from './charts/sticky-note';
53
- export * from './charts/tasklist';
54
- export * from './charts/weather';
@@ -1,26 +0,0 @@
1
- export declare class AXPDataGenerator {
2
- static uuid(): string;
3
- static number(max: number): number;
4
- static number(min: number, max: number): number;
5
- static date(): Date;
6
- static date(start: Date): Date;
7
- static date(start: Date, end: Date): Date;
8
- static array<T>(length: number | undefined, generator: () => T): T[];
9
- static pick<T>(items: T[]): T;
10
- static pick<T>(items: T[], count: number): T[];
11
- static string(length?: number): string;
12
- static boolean(): boolean;
13
- static item<T>(array?: T[]): T | undefined;
14
- static color(): string;
15
- static alphanumeric(length?: number): string;
16
- static alphabet(length?: number): string;
17
- static phone(): string;
18
- static firstName(): string;
19
- static lastName(): string;
20
- static email(): string;
21
- static email(firstName: string, lastName: string): string;
22
- static country(): string;
23
- static city(): string;
24
- static state(): string;
25
- static address(): string;
26
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-widgets-tabular-data-edit-popup.component-CybYV1Kf.mjs","sources":["../../../../libs/platform/widgets/src/lib/widgets/editors/tabular-data/tabular-data-edit-popup.component.ts"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDataSource } from '@acorex/components/common';\nimport {\n AXDataTableComponent,\n AXDataTableModule,\n AXRowCommandItem,\n AXRowCommandItemClickEvent,\n} from '@acorex/components/data-table';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormComponent, AXFormModule } from '@acorex/components/form';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPDataGenerator } from '@acorex/platform/common';\nimport { AXPLayoutBuilderModule, AXPLayoutContextChangeEvent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, viewChild } from '@angular/core';\nimport { cloneDeep } from 'lodash-es';\nimport { AXPTabularDataColumn } from './tabular-widget.types';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <axp-widgets-container [context]=\"context\" (onContextChanged)=\"handleContextChange($event)\">\n <ax-form #form>\n <div class=\"ax-p-4\">\n <ax-data-table\n #grid\n [paging]=\"false\"\n [allowReordering]=\"true\"\n (selectedRowsChange)=\"handleSelectionChange($event)\"\n [dataSource]=\"dataSource\"\n class=\"ax-h-96 ax-overflow-auto\"\n >\n @for (column of columns; track $index) {\n <ax-text-column\n width=\"200px\"\n [caption]=\"column.title\"\n [dataField]=\"column.name\"\n [cellTemplate]=\"cell\"\n [allowResizing]=\"true\"\n ></ax-text-column>\n <ng-template #cell let-item>\n <ng-container\n axp-widget-renderer\n [node]=\"{\n path: item.rowIndex + '.' + column.name,\n type: column.type.name,\n options: column.options ?? {}\n }\"\n [mode]=\"'edit'\"\n >\n </ng-container>\n </ng-template>\n }\n <ax-command-column\n fixed=\"end\"\n [width]=\"getCommandRowItems.length * 60 + 'px'\"\n [items]=\"getCommandRowItems\"\n (onItemClick)=\"handleRowCommandClick($event)\"\n ></ax-command-column>\n </ax-data-table>\n @if(!disabled){\n <div class=\"ax-flex ax-justify-end ax-py-4\">\n <ax-button\n [text]=\"(this.context ?? []).length ? 'Start Adding Items' : 'Add Your First Item'\"\n look=\"twotone\"\n [disabled]=\"disabled\"\n (onClick)=\"addRecord()\"\n class=\"ax-col-start-10 ax-col-end-13\"\n >\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-add\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n }\n </div>\n <ax-footer>\n <ax-suffix>\n <ax-button [text]=\"'discard' | translate | async\" (onClick)=\"onCloseDiscard()\"></ax-button>\n <ax-button\n color=\"primary\"\n [text]=\"'Okay' | translate | async\"\n (onClick)=\"handleSaveClick(form)\"\n ></ax-button>\n </ax-suffix>\n </ax-footer>\n </ax-form>\n </axp-widgets-container>\n `,\n imports: [\n CommonModule,\n AXDecoratorModule,\n AXButtonModule,\n AXPLayoutBuilderModule,\n AXDataTableModule,\n AXTranslationModule,\n AXFormModule,\n ],\n})\nexport class AXPTabularDataPopupComponent extends AXBasePageComponent {\n context: any;\n columns: AXPTabularDataColumn[];\n disabled: boolean = false;\n defaultRowCount: number = 0;\n contextDiscard: any;\n\n getCommandRowItems: AXRowCommandItem[] = [\n {\n name: 'delete',\n text: \"t('delete', {scope : 'common'})\",\n icon: 'fa-light fa-trash ax-text-danger',\n //divided: boolean,\n //disabled: boolean,\n color: 'danger',\n },\n ];\n\n protected override ngOnInit(): void {\n this.columns = this.columns.filter((col) => col.name != null && col.name != '' && col.type != null);\n\n this.columns = this.columns.map((col) => {\n return {\n ...col,\n options: {\n ...(col.options ?? {}),\n validationRules: [\n {\n rule: 'required',\n },\n ],\n },\n };\n });\n\n this.contextDiscard = cloneDeep(this.context);\n if (this.context == null || this.context?.length == 0) {\n for (let i = 0; i < this.defaultRowCount; i++) {\n this.addRecord();\n }\n }\n }\n\n protected dataSource = new AXDataSource({\n load: async () => {\n this.context = (this.context ?? []).map((x: any) => {\n return {\n ...x,\n id: AXPDataGenerator.uuid(),\n options: {},\n };\n });\n const items = this.context;\n console.log(this.context);\n\n return {\n items: items ?? [],\n total: (items ?? []).length,\n };\n },\n pageSize: 1,\n key: 'gridItem',\n });\n\n protected grid = viewChild<AXDataTableComponent>('grid');\n\n handleContextChange(e: AXPLayoutContextChangeEvent) {\n this.context = e.data;\n }\n\n onCloseDiscard() {\n this.close({\n context: this.contextDiscard,\n });\n }\n\n addRecord() {\n console.log(this.columns);\n\n const value = this.context ?? [];\n const newRecord = this.columns?.reduce((acc: { [key: string]: any }, column) => {\n acc[column.name] = ''; // or any default value\n return acc;\n }, {});\n console.log(value);\n this.context = [...value, newRecord];\n this.grid()?.refresh();\n }\n\n handleSelectionChange(e: any) {\n console.log(e);\n }\n\n protected async handleRowCommandClick(e: AXRowCommandItemClickEvent) {\n if (e.name == 'delete') {\n this.context = this.context.filter((item: any) => item.id !== e.data.id);\n this.grid()?.refresh();\n }\n }\n\n protected async handleSaveClick(form: AXFormComponent) {\n const formResult = await form.validate();\n console.log(formResult.rules);\n\n if (formResult.result) {\n this.close({\n context: this.context,\n });\n }\n }\n}\n"],"names":["i2","i3","i4","i5","i6","i7"],"mappings":"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"}
@@ -1,72 +0,0 @@
1
- import { AXPChartBaseComponent } from '../shared/chart-base.component';
2
- import { AXPChartTooltipData } from '../shared/components/chart-tooltip';
3
- import { AXPBarChartData, AXPBarChartValue } from './bar-chart.type';
4
- import * as i0 from "@angular/core";
5
- /**
6
- * Bar Chart Widget Component
7
- * Renders data as vertical bars with interactive hover effects and animations
8
- */
9
- export declare class AXPBarChartWidgetViewComponent extends AXPChartBaseComponent<AXPBarChartValue> {
10
- barClick: import("@angular/core").OutputEmitterRef<AXPBarChartData>;
11
- private readonly chartContainerEl;
12
- private svg;
13
- private chart;
14
- private xScale;
15
- private yScale;
16
- private xAxis;
17
- private yAxis;
18
- private width;
19
- private height;
20
- private margin;
21
- private _tooltipVisible;
22
- private _tooltipPosition;
23
- private _tooltipData;
24
- protected tooltipVisible: import("@angular/core").Signal<boolean>;
25
- protected tooltipPosition: import("@angular/core").Signal<{
26
- x: number;
27
- y: number;
28
- }>;
29
- protected tooltipData: import("@angular/core").Signal<AXPChartTooltipData>;
30
- protected barWidth: import("@angular/core").Signal<any>;
31
- protected cornerRadius: import("@angular/core").Signal<any>;
32
- /**
33
- * Creates the bar chart SVG and renders all elements
34
- */
35
- protected createChart(): void;
36
- protected updateChart(): void;
37
- protected cleanupChart(): void;
38
- /**
39
- * Sets up chart dimensions and creates SVG with responsive attributes
40
- */
41
- private setupDimensions;
42
- /**
43
- * Creates x and y scales for the chart
44
- */
45
- private setupScales;
46
- /**
47
- * Creates x and y axes with grid lines
48
- */
49
- private createAxes;
50
- /**
51
- * Renders the bars with animations
52
- */
53
- private renderBars;
54
- /**
55
- * Handles bar hover event and shows tooltip
56
- */
57
- private handleBarHover;
58
- /**
59
- * Updates tooltip position based on mouse coordinates
60
- */
61
- private updateTooltipPosition;
62
- /**
63
- * Handles bar click event
64
- */
65
- private handleBarClick;
66
- /**
67
- * Shows a message when no data is available
68
- */
69
- private showNoDataMessage;
70
- static ɵfac: i0.ɵɵFactoryDeclaration<AXPBarChartWidgetViewComponent, never>;
71
- static ɵcmp: i0.ɵɵComponentDeclaration<AXPBarChartWidgetViewComponent, "ng-component", never, {}, { "barClick": "barClick"; }, never, never, true, never>;
72
- }
@@ -1,7 +0,0 @@
1
- import { AXPWidgetConfig } from '@acorex/platform/layout/builder';
2
- export declare const AXPBarChartWidget: AXPWidgetConfig;
3
- declare module '@acorex/platform/layout/builder' {
4
- interface AXPWidgetTypesMap {
5
- barChart: 'bar-chart';
6
- }
7
- }
@@ -1,34 +0,0 @@
1
- import { AXPChartDataBase, AXPChartOptionBase } from '../shared/chart-base.type';
2
- /**
3
- * Bar chart data item interface
4
- */
5
- export interface AXPBarChartData extends AXPChartDataBase {
6
- id: string;
7
- label: string;
8
- value: number;
9
- color?: string;
10
- }
11
- /**
12
- * Bar chart options interface
13
- */
14
- export interface AXPBarChartOption extends AXPChartOptionBase {
15
- width?: number;
16
- height?: number;
17
- margin?: {
18
- top: number;
19
- right: number;
20
- bottom: number;
21
- left: number;
22
- };
23
- showXAxis?: boolean;
24
- showYAxis?: boolean;
25
- showGrid?: boolean;
26
- showTooltip?: boolean;
27
- barWidth?: number;
28
- cornerRadius?: number;
29
- }
30
- /**
31
- * Bar chart data type returned by getValue()
32
- * Represents an array of bar chart data items
33
- */
34
- export type AXPBarChartValue = AXPBarChartData[];
@@ -1,2 +0,0 @@
1
- export * from './bar-chart-widget.component';
2
- export * from './bar-chart-widget.config';
@@ -1,3 +0,0 @@
1
- import { AXPWidgetCategory } from '@acorex/platform/layout/builder';
2
- export declare const AXP_WIDGETS_CHART_CATEGORY: AXPWidgetCategory;
3
- export declare const AXP_WIDGETS_UTILITY_CATEGORY: AXPWidgetCategory;
@@ -1,40 +0,0 @@
1
- import { AXPValueWidgetComponent } from '@acorex/platform/layout/builder';
2
- import { OnDestroy, OnInit, Signal } from '@angular/core';
3
- import { AXPHourNumber } from './clock-calendar.types';
4
- import * as i0 from "@angular/core";
5
- export declare class AXPClockCalendarWidgetViewComponent extends AXPValueWidgetComponent implements OnInit, OnDestroy {
6
- private readonly cdr;
7
- protected currentTime: Date;
8
- protected currentDate: Date;
9
- private clockSubscription;
10
- protected readonly clockHours: number[];
11
- protected readonly clockHourNumbers: AXPHourNumber[];
12
- protected hourRotation: number;
13
- protected minuteRotation: number;
14
- protected secondRotation: number;
15
- protected readonly displayLayout: Signal<string>;
16
- protected readonly showDigitalClock: Signal<boolean>;
17
- protected readonly showAnalogClock: Signal<boolean>;
18
- protected readonly showDate: Signal<boolean>;
19
- protected readonly showDayOfWeek: Signal<boolean>;
20
- protected readonly use24Hour: Signal<boolean>;
21
- protected readonly showSeconds: Signal<boolean>;
22
- protected readonly dateFormat: Signal<string>;
23
- protected readonly timezone: Signal<string>;
24
- protected readonly showTimezoneIndicator: Signal<boolean>;
25
- protected readonly displayTimezone: Signal<string>;
26
- protected readonly timeFormat: Signal<string>;
27
- ngOnInit(): void;
28
- ngOnDestroy(): void;
29
- private startClockTimer;
30
- private stopClockTimer;
31
- private updateTime;
32
- private getAdjustedTime;
33
- private updateClockHandsRotation;
34
- protected initializeWidget(): void;
35
- protected updateWidget(): void;
36
- protected destroyWidget(): void;
37
- protected getDayOfWeek(): string;
38
- static ɵfac: i0.ɵɵFactoryDeclaration<AXPClockCalendarWidgetViewComponent, never>;
39
- static ɵcmp: i0.ɵɵComponentDeclaration<AXPClockCalendarWidgetViewComponent, "ng-component", never, {}, {}, never, never, true, never>;
40
- }
@@ -1,7 +0,0 @@
1
- import { AXPWidgetConfig } from '@acorex/platform/layout/builder';
2
- export declare const AXPClockCalendarWidget: AXPWidgetConfig;
3
- declare module '@acorex/platform/layout/builder' {
4
- interface AXPWidgetTypesMap {
5
- clockCalendar: 'clock-calendar';
6
- }
7
- }
@@ -1,50 +0,0 @@
1
- /**
2
- * ACoreX Clock Calendar Widget Types
3
- * Contains all types and interfaces for the Clock Calendar widget
4
- */
5
- /**
6
- * Clock layout display options
7
- */
8
- export type AXPClockLayout = 'both' | 'digital' | 'analog';
9
- /**
10
- * Clock timezone options
11
- */
12
- export interface AXPTimezoneOption {
13
- id: string;
14
- title: string;
15
- }
16
- /**
17
- * Date format options
18
- */
19
- export interface AXPDateFormatOption {
20
- id: string;
21
- title: string;
22
- }
23
- /**
24
- * Hour number definition for the analog clock
25
- */
26
- export interface AXPHourNumber {
27
- number: number;
28
- angle: number;
29
- }
30
- /**
31
- * Widget options for configuring the clock-calendar
32
- */
33
- export interface AXPClockCalendarOptions {
34
- displayLayout?: AXPClockLayout;
35
- showDate?: boolean;
36
- showDayOfWeek?: boolean;
37
- use24Hour?: boolean;
38
- showSeconds?: boolean;
39
- showHourMarkers?: boolean;
40
- dateFormat?: string;
41
- timezone?: string;
42
- }
43
- /**
44
- * Common timezone options for the widget configuration
45
- */
46
- export declare const AXP_TIMEZONE_OPTIONS: AXPTimezoneOption[];
47
- /**
48
- * Common date format options for the widget configuration
49
- */
50
- export declare const AXP_DATE_FORMAT_OPTIONS: AXPDateFormatOption[];
@@ -1,3 +0,0 @@
1
- export * from './clock-calendar-widget.component';
2
- export * from './clock-calendar-widget.config';
3
- export * from './clock-calendar.types';
@@ -1,58 +0,0 @@
1
- import { ChangeDetectorRef } from '@angular/core';
2
- import { AXPChartBaseComponent } from '../shared/chart-base.component';
3
- import { AXPChartTooltipData } from '../shared/components/chart-tooltip';
4
- import { AXPDonutChartData, AXPDonutChartValue } from './donut-chart.type';
5
- import * as i0 from "@angular/core";
6
- /**
7
- * Donut Chart Widget Component
8
- * Displays data in a circular donut chart with interactive segments
9
- */
10
- export declare class AXPDonutChartWidgetViewComponent extends AXPChartBaseComponent<AXPDonutChartValue> {
11
- segmentClick: import("@angular/core").OutputEmitterRef<AXPDonutChartData>;
12
- protected cdr: ChangeDetectorRef;
13
- private readonly chartContainerEl;
14
- private svg;
15
- private pieData;
16
- private hiddenSegments;
17
- private _tooltipVisible;
18
- private _tooltipPosition;
19
- private _tooltipData;
20
- protected tooltipVisible: import("@angular/core").Signal<boolean>;
21
- protected tooltipPosition: import("@angular/core").Signal<{
22
- x: number;
23
- y: number;
24
- }>;
25
- protected tooltipData: import("@angular/core").Signal<AXPChartTooltipData>;
26
- protected showLegend: import("@angular/core").Signal<boolean>;
27
- protected showTooltip: import("@angular/core").Signal<boolean>;
28
- protected legendPosition: import("@angular/core").Signal<any>;
29
- protected donutWidth: import("@angular/core").Signal<any>;
30
- protected cornerRadius: import("@angular/core").Signal<any>;
31
- protected chartDataArray: import("@angular/core").Signal<AXPDonutChartData[] | (AXPDonutChartValue & any[])>;
32
- protected getColor(index: number): string;
33
- protected isSegmentHidden(id: string): boolean;
34
- protected onSegmentClick(item: AXPDonutChartData): void;
35
- protected onLegendMouseEnter(item: AXPDonutChartData): void;
36
- protected onLegendMouseLeave(): void;
37
- protected createChart(): void;
38
- protected updateChart(): void;
39
- protected cleanupChart(): void;
40
- private clearChart;
41
- private handleChartError;
42
- private setupDimensions;
43
- private renderDonutChart;
44
- private calculateChartLayout;
45
- private createSvgWithFilters;
46
- private createDonutSegments;
47
- private setupColorScale;
48
- private addSegmentsWithAnimation;
49
- private handleSegmentHover;
50
- private updateTooltipPosition;
51
- private toggleSegment;
52
- private calculateTotal;
53
- private showNoDataMessage;
54
- private showAllSegmentsHiddenMessage;
55
- private addTotalDisplay;
56
- static ɵfac: i0.ɵɵFactoryDeclaration<AXPDonutChartWidgetViewComponent, never>;
57
- static ɵcmp: i0.ɵɵComponentDeclaration<AXPDonutChartWidgetViewComponent, "ng-component", never, {}, { "segmentClick": "segmentClick"; }, never, never, true, never>;
58
- }
@@ -1,7 +0,0 @@
1
- import { AXPWidgetConfig } from '@acorex/platform/layout/builder';
2
- export declare const AXPDonutChartWidget: AXPWidgetConfig;
3
- declare module '@acorex/platform/layout/builder' {
4
- interface AXPWidgetTypesMap {
5
- donutChart: 'donut-chart';
6
- }
7
- }
@@ -1,67 +0,0 @@
1
- /**
2
- * Type definitions for the Donut Chart Widget
3
- */
4
- /**
5
- * Represents a single segment in the donut chart
6
- */
7
- export interface AXPDonutChartData {
8
- /**
9
- * Unique identifier for the segment
10
- */
11
- id: string;
12
- /**
13
- * Display name for the segment
14
- */
15
- name: string;
16
- /**
17
- * Numeric value represented by the segment
18
- */
19
- value: number;
20
- }
21
- /**
22
- * Configuration options for the donut chart
23
- */
24
- export interface AXPDonutChartOption {
25
- /**
26
- * Width of the chart in pixels (defaults to container width)
27
- */
28
- width?: number;
29
- /**
30
- * Height of the chart in pixels (defaults to container height)
31
- */
32
- height?: number;
33
- /**
34
- * Whether to show the chart legend (defaults to true)
35
- */
36
- showLegend?: boolean;
37
- /**
38
- * Position of the legend (defaults to 'right')
39
- * - 'right': Shows legend on the right side
40
- * - 'bottom': Shows legend at the bottom
41
- */
42
- legendPosition?: 'right' | 'bottom' | {
43
- id: string;
44
- };
45
- /**
46
- * Whether to show tooltips on segment hover (defaults to true)
47
- */
48
- showTooltip?: boolean;
49
- /**
50
- * Width of the donut ring (thickness) in percentage of radius (defaults to 35)
51
- */
52
- donutWidth?: number;
53
- /**
54
- * Radius of segment corners in pixels (defaults to 4)
55
- */
56
- cornerRadius?: number;
57
- }
58
- /**
59
- * Data structure provided to the chart component
60
- * Can be an array of AXPDonutChartData directly or wrapped in an object with data property
61
- */
62
- export interface AXPDonutChartValue {
63
- /**
64
- * Array of donut chart segments
65
- */
66
- data: AXPDonutChartData[];
67
- }
@@ -1,2 +0,0 @@
1
- export * from './donut-chart-widget.component';
2
- export * from './donut-chart-widget.config';