@acorex/platform 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.
- package/common/lib/utils/index.d.ts +0 -1
- package/fesm2022/acorex-platform-common.mjs +1 -134
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +247 -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-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 +27 -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 +12 -0
- package/package.json +5 -1
- 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,27 @@
|
|
|
1
|
+
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class AXPUserAvatarComponent implements OnInit, OnDestroy {
|
|
4
|
+
private readonly userAvatarService;
|
|
5
|
+
private readonly destroy$;
|
|
6
|
+
size: import("@angular/core").InputSignal<number>;
|
|
7
|
+
username: import("@angular/core").InputSignal<string>;
|
|
8
|
+
src: import("@angular/core").WritableSignal<string>;
|
|
9
|
+
firstName: import("@angular/core").WritableSignal<string>;
|
|
10
|
+
lastName: import("@angular/core").WritableSignal<string>;
|
|
11
|
+
title: import("@angular/core").Signal<string>;
|
|
12
|
+
isOnline: import("@angular/core").WritableSignal<boolean>;
|
|
13
|
+
ngOnInit(): void;
|
|
14
|
+
ngOnDestroy(): void;
|
|
15
|
+
private loadUserData;
|
|
16
|
+
/**
|
|
17
|
+
* Generate avatar image source
|
|
18
|
+
* This is a placeholder - implement based on your actual requirements
|
|
19
|
+
*/
|
|
20
|
+
private generateAvatarSrc;
|
|
21
|
+
/**
|
|
22
|
+
* Get initials from first and last name
|
|
23
|
+
*/
|
|
24
|
+
private getInitials;
|
|
25
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPUserAvatarComponent, never>;
|
|
26
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXPUserAvatarComponent, "axp-user-avatar", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "username": { "alias": "username"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
27
|
+
}
|
|
@@ -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 username The username to fetch information for
|
|
12
|
+
* @returns Observable that emits user avatar data
|
|
13
|
+
*/
|
|
14
|
+
getUserInfo$(username: string): Observable<AXPUserAvatarData>;
|
|
15
|
+
/**
|
|
16
|
+
* Gets user information (Promise-based for backward compatibility)
|
|
17
|
+
* @param username The username to fetch information for
|
|
18
|
+
* @returns Promise that resolves to user avatar data
|
|
19
|
+
*/
|
|
20
|
+
getUserInfo(username: string): Promise<AXPUserAvatarData>;
|
|
21
|
+
/**
|
|
22
|
+
* Clears the entire cache or a specific user's cache
|
|
23
|
+
* @param username Optional username to clear specific cache
|
|
24
|
+
*/
|
|
25
|
+
clearCache(username?: string): void;
|
|
26
|
+
/**
|
|
27
|
+
* Force refresh data for a specific username
|
|
28
|
+
* @param username The username to refresh
|
|
29
|
+
* @returns Promise that resolves to the refreshed data
|
|
30
|
+
*/
|
|
31
|
+
refreshUserInfo(username: 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,12 @@
|
|
|
1
|
+
export type AXPUserAvatarSize = 'small' | 'medium' | 'large';
|
|
2
|
+
export type AXPUserAvatarStatus = 'online' | 'offline';
|
|
3
|
+
export type AXPUserAvatarData = {
|
|
4
|
+
status: AXPUserAvatarStatus;
|
|
5
|
+
username: string;
|
|
6
|
+
firstName: string;
|
|
7
|
+
lastName?: string;
|
|
8
|
+
avatarUrl?: string;
|
|
9
|
+
};
|
|
10
|
+
export interface AXPUserAvatarProvider {
|
|
11
|
+
provide(username: string): Promise<AXPUserAvatarData>;
|
|
12
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@acorex/platform",
|
|
3
|
-
"version": "19.3.
|
|
3
|
+
"version": "19.3.1",
|
|
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"
|
|
@@ -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
|
-
}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectorRef } from '@angular/core';
|
|
2
|
-
import { AXPChartBaseComponent } from '../shared/chart-base.component';
|
|
3
|
-
import { AXPGaugeChartValue } from './gauge-chart.type';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
/**
|
|
6
|
-
* Gauge Chart Widget Component
|
|
7
|
-
* Renders a semi-circular gauge chart with animated needle and thresholds
|
|
8
|
-
*/
|
|
9
|
-
export declare class AXPGaugeChartWidgetViewComponent extends AXPChartBaseComponent<AXPGaugeChartValue> {
|
|
10
|
-
protected cdr: ChangeDetectorRef;
|
|
11
|
-
private chartContainerEl;
|
|
12
|
-
private chartEl;
|
|
13
|
-
protected backgroundColor: string;
|
|
14
|
-
protected baseColor: string;
|
|
15
|
-
protected labelFontSize: number;
|
|
16
|
-
protected showValue: boolean;
|
|
17
|
-
protected valueColor: string;
|
|
18
|
-
protected valueFontSize: number;
|
|
19
|
-
protected minValue: import("@angular/core").Signal<any>;
|
|
20
|
-
protected maxValue: import("@angular/core").Signal<any>;
|
|
21
|
-
protected thresholds: import("@angular/core").Signal<any>;
|
|
22
|
-
protected label: import("@angular/core").Signal<any>;
|
|
23
|
-
protected width: import("@angular/core").Signal<any>;
|
|
24
|
-
protected height: import("@angular/core").Signal<any>;
|
|
25
|
-
protected gaugeWidth: import("@angular/core").Signal<any>;
|
|
26
|
-
protected cornerRadius: import("@angular/core").Signal<any>;
|
|
27
|
-
/**
|
|
28
|
-
* Creates the gauge chart with all elements
|
|
29
|
-
*/
|
|
30
|
-
protected createChart(): void;
|
|
31
|
-
protected updateChart(): void;
|
|
32
|
-
protected cleanupChart(): void;
|
|
33
|
-
/**
|
|
34
|
-
* Creates gradient definitions for thresholds
|
|
35
|
-
*/
|
|
36
|
-
private createGradients;
|
|
37
|
-
/**
|
|
38
|
-
* Draws the background arc
|
|
39
|
-
*/
|
|
40
|
-
private drawBackgroundArc;
|
|
41
|
-
/**
|
|
42
|
-
* Draws the threshold arcs with colors
|
|
43
|
-
*/
|
|
44
|
-
private drawThresholds;
|
|
45
|
-
/**
|
|
46
|
-
* Draws tick marks around the gauge
|
|
47
|
-
*/
|
|
48
|
-
private drawTicks;
|
|
49
|
-
/**
|
|
50
|
-
* Draws the value display in the center
|
|
51
|
-
*/
|
|
52
|
-
private drawValueDisplay;
|
|
53
|
-
/**
|
|
54
|
-
* Draws the dial/needle with animation
|
|
55
|
-
*/
|
|
56
|
-
private drawDial;
|
|
57
|
-
/**
|
|
58
|
-
* Creates a path for the needle
|
|
59
|
-
*/
|
|
60
|
-
private createNeedlePath;
|
|
61
|
-
/**
|
|
62
|
-
* Scales a value to an angle for needle positioning
|
|
63
|
-
*/
|
|
64
|
-
private scaleValueToAngle;
|
|
65
|
-
/**
|
|
66
|
-
* Scales a value to an angle for threshold colors
|
|
67
|
-
*/
|
|
68
|
-
private scaleValueToColorAngle;
|
|
69
|
-
/**
|
|
70
|
-
* Converts radians to degrees
|
|
71
|
-
*/
|
|
72
|
-
private radiansToDegrees;
|
|
73
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AXPGaugeChartWidgetViewComponent, never>;
|
|
74
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AXPGaugeChartWidgetViewComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
75
|
-
}
|