@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.
- package/common/lib/home-page/home-page-settings.provider.d.ts +1 -0
- package/common/lib/utils/index.d.ts +0 -1
- package/fesm2022/acorex-platform-common.mjs +3 -135
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +277 -0
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -0
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +0 -9
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-default.mjs +13 -4
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-CybYV1Kf.mjs → acorex-platform-widgets-tabular-data-edit-popup.component-1IseEVXQ.mjs} +2 -2
- package/fesm2022/acorex-platform-widgets-tabular-data-edit-popup.component-1IseEVXQ.mjs.map +1 -0
- package/fesm2022/acorex-platform-widgets.mjs +8 -4395
- package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
- package/layout/components/README.md +3 -0
- package/layout/components/index.d.ts +1 -0
- package/layout/components/lib/user-avatar/index.d.ts +4 -0
- package/layout/components/lib/user-avatar/user-avatar.component.d.ts +38 -0
- package/layout/components/lib/user-avatar/user-avatar.provider.d.ts +3 -0
- package/layout/components/lib/user-avatar/user-avatar.service.d.ts +42 -0
- package/layout/components/lib/user-avatar/user-avatar.types.d.ts +13 -0
- package/package.json +5 -1
- package/themes/default/lib/layouts/base/page-layout/page-layout.component.d.ts +2 -0
- package/widgets/lib/widgets/index.d.ts +0 -11
- package/common/lib/utils/data-generator.d.ts +0 -26
- package/fesm2022/acorex-platform-widgets-tabular-data-edit-popup.component-CybYV1Kf.mjs.map +0 -1
- package/widgets/lib/widgets/charts/bar-chart/bar-chart-widget.component.d.ts +0 -72
- package/widgets/lib/widgets/charts/bar-chart/bar-chart-widget.config.d.ts +0 -7
- package/widgets/lib/widgets/charts/bar-chart/bar-chart.type.d.ts +0 -34
- package/widgets/lib/widgets/charts/bar-chart/index.d.ts +0 -2
- package/widgets/lib/widgets/charts/chart.type.d.ts +0 -3
- package/widgets/lib/widgets/charts/clock-calendar/clock-calendar-widget.component.d.ts +0 -40
- package/widgets/lib/widgets/charts/clock-calendar/clock-calendar-widget.config.d.ts +0 -7
- package/widgets/lib/widgets/charts/clock-calendar/clock-calendar.types.d.ts +0 -50
- package/widgets/lib/widgets/charts/clock-calendar/index.d.ts +0 -3
- package/widgets/lib/widgets/charts/donut-chart/donut-chart-widget.component.d.ts +0 -58
- package/widgets/lib/widgets/charts/donut-chart/donut-chart-widget.config.d.ts +0 -7
- package/widgets/lib/widgets/charts/donut-chart/donut-chart.type.d.ts +0 -67
- package/widgets/lib/widgets/charts/donut-chart/index.d.ts +0 -2
- package/widgets/lib/widgets/charts/gauge-chart/gauge-chart-widget.component.d.ts +0 -75
- package/widgets/lib/widgets/charts/gauge-chart/gauge-chart-widget.config.d.ts +0 -7
- package/widgets/lib/widgets/charts/gauge-chart/gauge-chart.type.d.ts +0 -29
- package/widgets/lib/widgets/charts/gauge-chart/index.d.ts +0 -3
- package/widgets/lib/widgets/charts/index.d.ts +0 -11
- package/widgets/lib/widgets/charts/line-chart/index.d.ts +0 -3
- package/widgets/lib/widgets/charts/line-chart/line-chart-widget.component.d.ts +0 -76
- package/widgets/lib/widgets/charts/line-chart/line-chart-widget.config.d.ts +0 -7
- package/widgets/lib/widgets/charts/line-chart/line-chart.type.d.ts +0 -41
- package/widgets/lib/widgets/charts/notification/index.d.ts +0 -3
- package/widgets/lib/widgets/charts/notification/notification-widget.component.d.ts +0 -54
- package/widgets/lib/widgets/charts/notification/notification-widget.config.d.ts +0 -10
- package/widgets/lib/widgets/charts/notification/notification.type.d.ts +0 -47
- package/widgets/lib/widgets/charts/shared/chart-base.component.d.ts +0 -44
- package/widgets/lib/widgets/charts/shared/chart-base.type.d.ts +0 -37
- package/widgets/lib/widgets/charts/shared/components/chart-tooltip/chart-tooltip.component.d.ts +0 -28
- package/widgets/lib/widgets/charts/shared/components/chart-tooltip/index.d.ts +0 -1
- package/widgets/lib/widgets/charts/shared/index.d.ts +0 -3
- package/widgets/lib/widgets/charts/sticky-note/index.d.ts +0 -2
- package/widgets/lib/widgets/charts/sticky-note/sticky-note-widget.component.d.ts +0 -21
- package/widgets/lib/widgets/charts/sticky-note/sticky-note-widget.config.d.ts +0 -7
- package/widgets/lib/widgets/charts/tasklist/index.d.ts +0 -3
- package/widgets/lib/widgets/charts/tasklist/tasklist-widget.component.d.ts +0 -34
- package/widgets/lib/widgets/charts/tasklist/tasklist-widget.config.d.ts +0 -7
- package/widgets/lib/widgets/charts/tasklist/tasklist.type.d.ts +0 -36
- package/widgets/lib/widgets/charts/weather/index.d.ts +0 -3
- package/widgets/lib/widgets/charts/weather/weather-services/index.d.ts +0 -3
- package/widgets/lib/widgets/charts/weather/weather-services/weather-api.abstract.d.ts +0 -174
- package/widgets/lib/widgets/charts/weather/weather-services/weather-api.key.d.ts +0 -2
- package/widgets/lib/widgets/charts/weather/weather-services/weather-api.mock.service.d.ts +0 -47
- package/widgets/lib/widgets/charts/weather/weather-services/weather-api.service.d.ts +0 -48
- package/widgets/lib/widgets/charts/weather/weather-widget.component.d.ts +0 -109
- package/widgets/lib/widgets/charts/weather/weather-widget.config.d.ts +0 -14
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './lib/user-avatar';
|
|
@@ -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,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.
|
|
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,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,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,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,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,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
|
-
}
|