bways-report 0.1.8 → 0.2.0
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/README.md +463 -316
- package/esm2022/lib/core/config/bways-report-config.mjs +31 -32
- package/esm2022/lib/core/models/index.mjs +1 -1
- package/esm2022/lib/core/models/report-api-endpoint.model.mjs +8 -0
- package/esm2022/lib/core/models/report-component.model.mjs +1 -1
- package/esm2022/lib/core/models/report-datasource.model.mjs +1 -1
- package/esm2022/lib/core/services/index.mjs +2 -1
- package/esm2022/lib/core/services/report-api-execution.service.mjs +210 -0
- package/esm2022/lib/core/services/report-data-discovery.service.mjs +76 -4
- package/esm2022/lib/core/services/report-session-context.service.mjs +72 -3
- package/esm2022/lib/core/tokens/designer-config.token.mjs +4 -0
- package/esm2022/lib/core/tokens/reporting-config.token.mjs +1 -1
- package/esm2022/lib/core/utils/report-endpoint.util.mjs +22 -0
- package/esm2022/lib/core/utils/report-request-scope.mjs +48 -0
- package/esm2022/lib/data-access/adapters/endpoint-datasource.adapter.mjs +31 -1
- package/esm2022/lib/data-access/adapters/endpoint-lookup.adapter.mjs +27 -2
- package/esm2022/lib/data-access/adapters/endpoint-masterdata.adapter.mjs +5 -2
- package/esm2022/lib/data-access/adapters/endpoint-persistence.adapter.mjs +30 -14
- package/esm2022/lib/data-access/adapters/endpoint-schema-discovery.adapter.mjs +32 -28
- package/esm2022/lib/data-access/adapters/endpoint-tokens.mjs +1 -1
- package/esm2022/lib/data-access/adapters/http-datasource.adapter.mjs +4 -37
- package/esm2022/lib/data-access/adapters/http-lookup.adapter.mjs +28 -51
- package/esm2022/lib/data-access/adapters/http-persistence.adapter.mjs +43 -194
- package/esm2022/lib/data-access/adapters/http-schema-discovery.adapter.mjs +17 -65
- package/esm2022/lib/data-access/adapters/index.mjs +1 -1
- package/esm2022/lib/data-access/adapters/local-storage-persistence.adapter.mjs +13 -4
- package/esm2022/lib/data-access/adapters/report-id-availability.mjs +20 -0
- package/esm2022/lib/data-access/adapters/session-headers.mjs +11 -0
- package/esm2022/lib/data-access/contracts/index.mjs +1 -1
- package/esm2022/lib/data-access/contracts/lookup.contract.mjs +1 -1
- package/esm2022/lib/data-access/contracts/report-persistence.contract.mjs +13 -1
- package/esm2022/lib/features/designer/components/component-palette/component-palette.component.mjs +536 -6
- package/esm2022/lib/features/designer/components/design-canvas/design-canvas.component.mjs +55 -17
- package/esm2022/lib/features/designer/components/dialogs/report-saved-dialog.component.mjs +546 -119
- package/esm2022/lib/features/designer/components/property-editor/parameter-binding-editor.component.mjs +3 -3
- package/esm2022/lib/features/designer/components/property-editor/property-editor-action.component.mjs +3 -3
- package/esm2022/lib/features/designer/components/property-editor/property-editor-datasource.component.mjs +142 -8
- package/esm2022/lib/features/designer/components/property-editor/property-editor-general.component.mjs +3 -3
- package/esm2022/lib/features/designer/components/property-editor/property-editor-grid.component.mjs +129 -28
- package/esm2022/lib/features/designer/components/property-editor/property-editor-layout.component.mjs +3 -3
- package/esm2022/lib/features/designer/components/property-editor/property-editor-report.component.mjs +3 -3
- package/esm2022/lib/features/designer/components/property-editor/property-editor-validation.component.mjs +3 -3
- package/esm2022/lib/features/designer/components/property-editor/property-editor.component.mjs +27 -13
- package/esm2022/lib/features/designer/components/toolbar/designer-toolbar.component.mjs +54 -32
- package/esm2022/lib/features/designer/designer.component.mjs +109 -75
- package/esm2022/lib/features/designer/rpt-report-designer.component.mjs +10 -4
- package/esm2022/lib/features/designer/services/designer-config.service.mjs +56 -0
- package/esm2022/lib/features/designer/services/designer-endpoints.service.mjs +155 -0
- package/esm2022/lib/features/designer/services/designer-state.service.mjs +3 -2
- package/esm2022/lib/features/designer/utilities/canvas-layout.util.mjs +2 -1
- package/esm2022/lib/features/embed/bways-report-builder.component.mjs +3 -3
- package/esm2022/lib/features/export/services/report-export.service.mjs +11 -6
- package/esm2022/lib/features/persistence/services/report-store.service.mjs +78 -23
- package/esm2022/lib/features/persistence/services/schema-validator.service.mjs +59 -3
- package/esm2022/lib/features/routing/components/routed-report-designer.component.mjs +12 -17
- package/esm2022/lib/features/routing/components/routed-report-runtime.component.mjs +6 -4
- package/esm2022/lib/features/routing/report-routes.mjs +6 -6
- package/esm2022/lib/features/routing/resolvers/report-route-identifier.mjs +5 -0
- package/esm2022/lib/features/routing/resolvers/report.resolver.mjs +3 -2
- package/esm2022/lib/features/runtime/dynamic-renderer.component.mjs +23 -4
- package/esm2022/lib/features/runtime/report-execution.service.mjs +36 -6
- package/esm2022/lib/features/runtime/report-grid-bridge.component.mjs +54 -11
- package/esm2022/lib/features/runtime/report-runtime.component.mjs +105 -68
- package/esm2022/lib/features/runtime/rpt-report.component.mjs +50 -42
- package/esm2022/lib/primitives/components/chart-bridge/report-chart-bridge.component.mjs +7 -2
- package/esm2022/lib/primitives/components/dropdown/rpt-dropdown.component.mjs +16 -7
- package/esm2022/lib/primitives/components/icon/rpt-icon.component.mjs +53 -1
- package/esm2022/lib/primitives/components/index.mjs +2 -1
- package/esm2022/lib/primitives/components/radio/rpt-radio.component.mjs +428 -0
- package/esm2022/lib/primitives/register-builtins.mjs +51 -2
- package/esm2022/lib/provide-reporting.mjs +11 -29
- package/fesm2022/bways-report.mjs +3745 -1281
- package/fesm2022/bways-report.mjs.map +1 -1
- package/lib/core/config/bways-report-config.d.ts +27 -5
- package/lib/core/models/index.d.ts +2 -1
- package/lib/core/models/report-api-endpoint.model.d.ts +30 -0
- package/lib/core/models/report-component.model.d.ts +16 -4
- package/lib/core/models/report-datasource.model.d.ts +21 -2
- package/lib/core/services/index.d.ts +1 -0
- package/lib/core/services/report-api-execution.service.d.ts +41 -0
- package/lib/core/services/report-data-discovery.service.d.ts +23 -1
- package/lib/core/services/report-session-context.service.d.ts +9 -0
- package/lib/core/tokens/designer-config.token.d.ts +4 -0
- package/lib/core/tokens/reporting-config.token.d.ts +4 -0
- package/lib/core/utils/report-endpoint.util.d.ts +12 -0
- package/lib/core/utils/report-request-scope.d.ts +14 -0
- package/lib/data-access/adapters/endpoint-datasource.adapter.d.ts +2 -0
- package/lib/data-access/adapters/endpoint-lookup.adapter.d.ts +1 -0
- package/lib/data-access/adapters/endpoint-persistence.adapter.d.ts +6 -2
- package/lib/data-access/adapters/endpoint-schema-discovery.adapter.d.ts +4 -2
- package/lib/data-access/adapters/endpoint-tokens.d.ts +7 -0
- package/lib/data-access/adapters/http-datasource.adapter.d.ts +1 -3
- package/lib/data-access/adapters/http-lookup.adapter.d.ts +3 -4
- package/lib/data-access/adapters/http-persistence.adapter.d.ts +11 -16
- package/lib/data-access/adapters/http-schema-discovery.adapter.d.ts +3 -5
- package/lib/data-access/adapters/index.d.ts +1 -1
- package/lib/data-access/adapters/local-storage-persistence.adapter.d.ts +2 -2
- package/lib/data-access/adapters/report-id-availability.d.ts +6 -0
- package/lib/data-access/adapters/session-headers.d.ts +3 -0
- package/lib/data-access/contracts/index.d.ts +1 -0
- package/lib/data-access/contracts/lookup.contract.d.ts +3 -0
- package/lib/data-access/contracts/report-persistence.contract.d.ts +16 -1
- package/lib/features/designer/components/component-palette/component-palette.component.d.ts +16 -0
- package/lib/features/designer/components/design-canvas/design-canvas.component.d.ts +2 -0
- package/lib/features/designer/components/dialogs/report-saved-dialog.component.d.ts +37 -5
- package/lib/features/designer/components/property-editor/property-editor-datasource.component.d.ts +21 -3
- package/lib/features/designer/components/property-editor/property-editor-grid.component.d.ts +20 -7
- package/lib/features/designer/components/property-editor/property-editor.component.d.ts +2 -1
- package/lib/features/designer/components/toolbar/designer-toolbar.component.d.ts +7 -1
- package/lib/features/designer/designer.component.d.ts +16 -2
- package/lib/features/designer/rpt-report-designer.component.d.ts +5 -1
- package/lib/features/designer/services/designer-config.service.d.ts +13 -0
- package/lib/features/designer/services/designer-endpoints.service.d.ts +25 -0
- package/lib/features/persistence/services/report-store.service.d.ts +15 -1
- package/lib/features/persistence/services/schema-validator.service.d.ts +2 -0
- package/lib/features/routing/resolvers/report-route-identifier.d.ts +2 -0
- package/lib/features/runtime/report-execution.service.d.ts +4 -0
- package/lib/features/runtime/report-grid-bridge.component.d.ts +4 -1
- package/lib/features/runtime/report-runtime.component.d.ts +14 -1
- package/lib/features/runtime/rpt-report.component.d.ts +5 -0
- package/lib/primitives/components/chart-bridge/report-chart-bridge.component.d.ts +3 -1
- package/lib/primitives/components/index.d.ts +2 -0
- package/lib/primitives/components/radio/rpt-radio.component.d.ts +77 -0
- package/package.json +2 -1
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { OnDestroy } from '@angular/core';
|
|
2
|
+
import { FormControl, FormGroup } from '@angular/forms';
|
|
3
|
+
import { ReportComponentDefinition } from '../../../core/models/report-component.model';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* Represents an individual selectable option in a radio button group.
|
|
7
|
+
*/
|
|
8
|
+
export interface RadioOption {
|
|
9
|
+
key: string | number;
|
|
10
|
+
label: string;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
description?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Pure utility function to normalize option key comparisons.
|
|
16
|
+
*/
|
|
17
|
+
export declare function isOptionSelected(currentValue: unknown, optionKey: string | number): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Enterprise Radio Group primitive for BWays-Report.
|
|
20
|
+
*
|
|
21
|
+
* Implements accessible, keyboard-friendly, single-selection mutually exclusive choices.
|
|
22
|
+
* Supports static options, dynamic data lookups (tables, views, SPs, master data),
|
|
23
|
+
* horizontal/vertical orientations, and button-group / segmented pill appearances.
|
|
24
|
+
*/
|
|
25
|
+
export declare class RptRadioComponent implements OnDestroy {
|
|
26
|
+
private readonly masterDataProvider;
|
|
27
|
+
private readonly lookupAdapter;
|
|
28
|
+
private readonly sessionService;
|
|
29
|
+
private readonly cdr;
|
|
30
|
+
readonly config: import("@angular/core").InputSignal<ReportComponentDefinition>;
|
|
31
|
+
readonly control: import("@angular/core").InputSignal<FormControl<any> | null | undefined>;
|
|
32
|
+
readonly parentForm: import("@angular/core").InputSignal<FormGroup<any> | null>;
|
|
33
|
+
private readonly fallbackControl;
|
|
34
|
+
private controlSub?;
|
|
35
|
+
private lookupSub?;
|
|
36
|
+
private masterDataSub?;
|
|
37
|
+
private formChangesSub?;
|
|
38
|
+
private reloadTimer?;
|
|
39
|
+
readonly formControl: import("@angular/core").Signal<FormControl<any>>;
|
|
40
|
+
readonly elementId: import("@angular/core").Signal<string>;
|
|
41
|
+
readonly groupName: import("@angular/core").Signal<string>;
|
|
42
|
+
readonly labelId: import("@angular/core").Signal<string>;
|
|
43
|
+
readonly errorId: import("@angular/core").Signal<string>;
|
|
44
|
+
readonly layout: import("@angular/core").Signal<"horizontal" | "vertical">;
|
|
45
|
+
readonly appearance: import("@angular/core").Signal<"default" | "button-group">;
|
|
46
|
+
readonly currentValue: import("@angular/core").WritableSignal<unknown>;
|
|
47
|
+
readonly dynamicOptions: import("@angular/core").WritableSignal<RadioOption[]>;
|
|
48
|
+
readonly isLoading: import("@angular/core").WritableSignal<boolean>;
|
|
49
|
+
readonly loadError: import("@angular/core").WritableSignal<string | null>;
|
|
50
|
+
readonly stateVersion: import("@angular/core").WritableSignal<number>;
|
|
51
|
+
readonly isDynamicSource: import("@angular/core").Signal<boolean>;
|
|
52
|
+
readonly staticOptions: import("@angular/core").Signal<RadioOption[]>;
|
|
53
|
+
readonly allOptions: import("@angular/core").Signal<RadioOption[]>;
|
|
54
|
+
/**
|
|
55
|
+
* Evaluates invalid status dynamically on the active FormControl.
|
|
56
|
+
* Tracks stateVersion for signal-based triggers and inspects live FormControl flags.
|
|
57
|
+
*/
|
|
58
|
+
readonly isInvalid: () => boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Evaluates active error validation message dynamically.
|
|
61
|
+
* Supports custom validation messages configured on component metadata.
|
|
62
|
+
*/
|
|
63
|
+
readonly errorMessage: () => string;
|
|
64
|
+
constructor();
|
|
65
|
+
ngOnDestroy(): void;
|
|
66
|
+
isSelected(key: string | number): boolean;
|
|
67
|
+
isOptionDisabled(opt: RadioOption): boolean;
|
|
68
|
+
onSelect(key: string | number): void;
|
|
69
|
+
/**
|
|
70
|
+
* Keyboard arrow key navigation between radio options per WAI-ARIA Radio Group pattern.
|
|
71
|
+
*/
|
|
72
|
+
onKeydown(event: KeyboardEvent, currentKey: string | number): void;
|
|
73
|
+
private scheduleReload;
|
|
74
|
+
private reloadDataSourceOptions;
|
|
75
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RptRadioComponent, never>;
|
|
76
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RptRadioComponent, "rpt-radio", never, { "config": { "alias": "config"; "required": true; "isSignal": true; }; "control": { "alias": "control"; "required": false; "isSignal": true; }; "parentForm": { "alias": "parentForm"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
77
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bways-report",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Enterprise-grade, metadata-driven reporting engine and visual page builder for Angular 18+ ERP applications.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
"@angular/common": ">=18.0.0",
|
|
28
28
|
"@angular/core": ">=18.0.0",
|
|
29
29
|
"@angular/forms": ">=18.0.0",
|
|
30
|
+
"@angular/router": ">=18.0.0",
|
|
30
31
|
"@angular/cdk": ">=18.0.0",
|
|
31
32
|
"rxjs": "^7.8.0"
|
|
32
33
|
},
|