@nexterajs/ui 0.0.1 → 0.1.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 +279 -34
- package/fesm2022/nexterajs-ui-charts.mjs +1096 -0
- package/fesm2022/nexterajs-ui-charts.mjs.map +1 -0
- package/fesm2022/nexterajs-ui-core.mjs +835 -11
- package/fesm2022/nexterajs-ui-core.mjs.map +1 -1
- package/fesm2022/nexterajs-ui-display.mjs +1142 -0
- package/fesm2022/nexterajs-ui-display.mjs.map +1 -0
- package/fesm2022/nexterajs-ui-dropdowns.mjs +621 -69
- package/fesm2022/nexterajs-ui-dropdowns.mjs.map +1 -1
- package/fesm2022/nexterajs-ui-file-uploader.mjs +576 -11
- package/fesm2022/nexterajs-ui-file-uploader.mjs.map +1 -1
- package/fesm2022/nexterajs-ui-forms.mjs +2702 -452
- package/fesm2022/nexterajs-ui-forms.mjs.map +1 -1
- package/fesm2022/nexterajs-ui-grid.mjs +2350 -336
- package/fesm2022/nexterajs-ui-grid.mjs.map +1 -1
- package/fesm2022/nexterajs-ui-intl.mjs +117 -15
- package/fesm2022/nexterajs-ui-intl.mjs.map +1 -1
- package/fesm2022/nexterajs-ui-navigation.mjs +1054 -0
- package/fesm2022/nexterajs-ui-navigation.mjs.map +1 -0
- package/fesm2022/nexterajs-ui-notify.mjs +353 -0
- package/fesm2022/nexterajs-ui-notify.mjs.map +1 -0
- package/fesm2022/nexterajs-ui-overlay.mjs +1671 -0
- package/fesm2022/nexterajs-ui-overlay.mjs.map +1 -0
- package/fesm2022/nexterajs-ui-pivot.mjs +191 -136
- package/fesm2022/nexterajs-ui-pivot.mjs.map +1 -1
- package/fesm2022/nexterajs-ui-shell.mjs +542 -0
- package/fesm2022/nexterajs-ui-shell.mjs.map +1 -0
- package/fesm2022/nexterajs-ui-styling.mjs +568 -3
- package/fesm2022/nexterajs-ui-styling.mjs.map +1 -1
- package/fesm2022/nexterajs-ui-tree-view.mjs +150 -18
- package/fesm2022/nexterajs-ui-tree-view.mjs.map +1 -1
- package/fesm2022/nexterajs-ui-validation.mjs +283 -97
- package/fesm2022/nexterajs-ui-validation.mjs.map +1 -1
- package/fesm2022/nexterajs-ui.mjs +6 -0
- package/fesm2022/nexterajs-ui.mjs.map +1 -1
- package/package.json +37 -2
- package/styles/_dropdown.scss +150 -1
- package/styles/_editor.scss +75 -21
- package/styles/_icons.scss +92 -0
- package/styles/_mixins.scss +104 -1
- package/styles/_scrollbar.scss +134 -0
- package/styles/_status.scss +21 -0
- package/styles/_toast.scss +243 -0
- package/styles/_tokens.scss +467 -2
- package/styles/_widget.scss +14 -3
- package/styles/index.scss +10 -4
- package/types/nexterajs-ui-charts.d.ts +446 -0
- package/types/nexterajs-ui-core.d.ts +515 -30
- package/types/nexterajs-ui-display.d.ts +720 -0
- package/types/nexterajs-ui-dropdowns.d.ts +318 -57
- package/types/nexterajs-ui-file-uploader.d.ts +240 -8
- package/types/nexterajs-ui-forms.d.ts +772 -43
- package/types/nexterajs-ui-grid.d.ts +878 -135
- package/types/nexterajs-ui-intl.d.ts +39 -4
- package/types/nexterajs-ui-navigation.d.ts +531 -0
- package/types/nexterajs-ui-notify.d.ts +149 -0
- package/types/nexterajs-ui-overlay.d.ts +703 -0
- package/types/nexterajs-ui-pivot.d.ts +91 -70
- package/types/nexterajs-ui-shell.d.ts +294 -0
- package/types/nexterajs-ui-styling.d.ts +163 -3
- package/types/nexterajs-ui-tree-view.d.ts +56 -4
- package/types/nexterajs-ui-validation.d.ts +110 -22
- package/types/nexterajs-ui.d.ts +6 -0
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { NxeColumnFormat, NxeGridInstance, NxeExcelExportOptions, NxeScrollingComponent, NxeHeaderFilterModel } from '@nexterajs/ui/grid';
|
|
2
|
+
import { NxeNumberSeparators } from '@nexterajs/ui/intl';
|
|
2
3
|
import * as _angular_core from '@angular/core';
|
|
3
4
|
import { OnDestroy, TemplateRef, Signal, EventEmitter } from '@angular/core';
|
|
5
|
+
import { NxeMessageService } from '@nexterajs/ui/core';
|
|
4
6
|
|
|
5
7
|
type NxePivotArea = 'row' | 'column' | 'data' | 'filter';
|
|
6
8
|
type NxePivotSummaryType = 'sum' | 'count' | 'min' | 'max' | 'avg' | 'custom';
|
|
@@ -142,6 +144,11 @@ interface NxePivotDataSourceOptions {
|
|
|
142
144
|
store?: any[];
|
|
143
145
|
retrieveFields?: boolean;
|
|
144
146
|
dataFieldArea?: 'row' | 'column';
|
|
147
|
+
/**
|
|
148
|
+
* Locale separators for rendered cell text. Supplied by the pivot component from
|
|
149
|
+
* `NXE_NUMBER_SEPARATORS`; omitted means en-US, which is what the engine always did.
|
|
150
|
+
*/
|
|
151
|
+
separators?: NxeNumberSeparators;
|
|
145
152
|
}
|
|
146
153
|
/**
|
|
147
154
|
* A rendered column leaf = (column-path × data-field). Since P2-C2 the column axis is N-level:
|
|
@@ -177,7 +184,7 @@ interface NxePivotHeaderCell {
|
|
|
177
184
|
/** Set when > 1: a 'T'/'GT'/collapsed-parent cell filling the remaining value rows (dx
|
|
178
185
|
* `depthSize`, m_data_controller). */
|
|
179
186
|
rowspan?: number;
|
|
180
|
-
/** True on "{value} Total" cells (dx `dx-row-total
|
|
187
|
+
/** True on "{value} Total" cells (dx `dx-row-total nxe-total`, on both axes). */
|
|
181
188
|
isTotal?: boolean;
|
|
182
189
|
/** True when the cell carries an expand/collapse chevron (dx `dx-expand-icon-container`). */
|
|
183
190
|
expandable?: boolean;
|
|
@@ -206,7 +213,7 @@ interface NxePivotRowHeaderCell {
|
|
|
206
213
|
/** True when the cell carries an expand/collapse chevron (a parent node's label). */
|
|
207
214
|
expandable: boolean;
|
|
208
215
|
expanded: boolean;
|
|
209
|
-
/** True for a "{value} Total" label cell (dx `dx-row-total
|
|
216
|
+
/** True for a "{value} Total" label cell (dx `dx-row-total nxe-total`). */
|
|
210
217
|
isTotal: boolean;
|
|
211
218
|
pathKey: string;
|
|
212
219
|
}
|
|
@@ -737,9 +744,9 @@ declare class NxePivotDataSource {
|
|
|
737
744
|
declare class NxeStateStoringComponent {
|
|
738
745
|
readonly enabled: _angular_core.InputSignal<boolean>;
|
|
739
746
|
readonly type: _angular_core.InputSignal<"custom" | "localStorage" | "sessionStorage">;
|
|
740
|
-
readonly storageKey: _angular_core.InputSignal<string>;
|
|
741
|
-
readonly customSave: _angular_core.InputSignal<(state: any) => void>;
|
|
742
|
-
readonly customLoad: _angular_core.InputSignal<() => any>;
|
|
747
|
+
readonly storageKey: _angular_core.InputSignal<string | undefined>;
|
|
748
|
+
readonly customSave: _angular_core.InputSignal<((state: any) => void) | undefined>;
|
|
749
|
+
readonly customLoad: _angular_core.InputSignal<(() => any) | undefined>;
|
|
743
750
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NxeStateStoringComponent, never>;
|
|
744
751
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NxeStateStoringComponent, "nxe-state-storing", never, { "enabled": { "alias": "enabled"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "storageKey": { "alias": "storageKey"; "required": false; "isSignal": true; }; "customSave": { "alias": "customSave"; "required": false; "isSignal": true; }; "customLoad": { "alias": "customLoad"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
745
752
|
}
|
|
@@ -771,7 +778,7 @@ interface NxePivotPanelChip {
|
|
|
771
778
|
caption: string;
|
|
772
779
|
sortOrder: 'asc' | 'desc';
|
|
773
780
|
sortable: boolean;
|
|
774
|
-
/** P3-C4: the chip renders the `.
|
|
781
|
+
/** P3-C4: the chip renders the `.nxe-header-filter` funnel (never on data-area chips). */
|
|
775
782
|
filterable: boolean;
|
|
776
783
|
/** A filter is applied (`filterValues` non-empty) — full-alpha funnel, no `-empty` class. */
|
|
777
784
|
filterActive: boolean;
|
|
@@ -811,7 +818,7 @@ interface NxePivotFieldMoveEvent {
|
|
|
811
818
|
}
|
|
812
819
|
declare class NxePivotFieldPanelComponent implements OnDestroy {
|
|
813
820
|
/** The pivot's CURRENT engine — overrides already merged, so chips track every mutation. */
|
|
814
|
-
readonly engine: _angular_core.InputSignal<NxePivotDataSource>;
|
|
821
|
+
readonly engine: _angular_core.InputSignal<NxePivotDataSource | null>;
|
|
815
822
|
readonly showFilterFields: _angular_core.InputSignal<boolean>;
|
|
816
823
|
readonly showDataFields: _angular_core.InputSignal<boolean>;
|
|
817
824
|
readonly showColumnFields: _angular_core.InputSignal<boolean>;
|
|
@@ -825,18 +832,18 @@ declare class NxePivotFieldPanelComponent implements OnDestroy {
|
|
|
825
832
|
* header-filter funnel. Same per-field precedence as `allowSorting`. */
|
|
826
833
|
readonly allowFiltering: _angular_core.InputSignal<boolean>;
|
|
827
834
|
/** Widget `showBorders`: the panel bands sit INSIDE the border box (dx draws the outer
|
|
828
|
-
* border around the filter/chip bands — `.
|
|
835
|
+
* border around the filter/chip bands — `.nxe-pivotgrid-border .nxe-filter-header` et al). */
|
|
829
836
|
readonly showBorders: _angular_core.InputSignal<boolean>;
|
|
830
|
-
/** P3-C3: the pivot's `.
|
|
837
|
+
/** P3-C3: the pivot's `.nxe-pivotgrid-toolbar` template (field-chooser button) — rendered
|
|
831
838
|
* where dx prepends its toolbar container (m_widget.js `_renderDescriptionArea`). */
|
|
832
|
-
readonly toolbarTemplate: _angular_core.InputSignal<TemplateRef<unknown
|
|
839
|
+
readonly toolbarTemplate: _angular_core.InputSignal<TemplateRef<unknown> | null>;
|
|
833
840
|
/** Which panel band hosts the toolbar (the pivot resolves dx's placement branches):
|
|
834
841
|
* 'filter' = the filter-header cell; 'column' = the column-header cell (dx's middle
|
|
835
842
|
* branch — showFilterFields off but data/column bands shown; the cell renders for the
|
|
836
843
|
* toolbar even when showColumnFields is off, exactly as dx's always-present
|
|
837
844
|
* $columnHeader does); null = the toolbar lives in the cross-tab corner (or no
|
|
838
845
|
* chooser) — nothing renders here. */
|
|
839
|
-
readonly toolbarArea: _angular_core.InputSignal<"column" | "filter">;
|
|
846
|
+
readonly toolbarArea: _angular_core.InputSignal<"column" | "filter" | null>;
|
|
840
847
|
/** A chip was dropped — the pivot recomputes areaIndexes and writes its override map. */
|
|
841
848
|
readonly fieldMove: _angular_core.OutputEmitterRef<NxePivotFieldMoveEvent>;
|
|
842
849
|
/** A sortable chip was clicked — the pivot flips the field's effective sortOrder. */
|
|
@@ -846,9 +853,10 @@ declare class NxePivotFieldPanelComponent implements OnDestroy {
|
|
|
846
853
|
/** A chip's funnel was clicked — the pivot opens the header-filter panel (P3-C4). */
|
|
847
854
|
readonly filterOpen: _angular_core.OutputEmitterRef<NxePivotFilterOpenEvent>;
|
|
848
855
|
/** The ROW fields area — NxePivotGridComponent outlets this into its corner cell (dx hosts
|
|
849
|
-
* the row chips inside `.
|
|
850
|
-
readonly rowAreaTemplate: _angular_core.Signal<TemplateRef<unknown
|
|
856
|
+
* the row chips inside `.nxe-area-description-cell`, never in a band of their own). */
|
|
857
|
+
readonly rowAreaTemplate: _angular_core.Signal<TemplateRef<unknown> | undefined>;
|
|
851
858
|
private readonly elementRef;
|
|
859
|
+
private readonly messages;
|
|
852
860
|
private readonly zone;
|
|
853
861
|
protected readonly filterArea: _angular_core.Signal<PanelArea>;
|
|
854
862
|
protected readonly dataArea: _angular_core.Signal<PanelArea>;
|
|
@@ -867,12 +875,12 @@ declare class NxePivotFieldPanelComponent implements OnDestroy {
|
|
|
867
875
|
private dragRoot;
|
|
868
876
|
/**
|
|
869
877
|
* Drop zones. For filter/data/column the fields-area element is both hit rect and highlight
|
|
870
|
-
* target; for ROW the enclosing corner cell (`th.
|
|
878
|
+
* target; for ROW the enclosing corner cell (`th.nxe-area-description-cell`) is — dx's row
|
|
871
879
|
* area IS the corner, so a drop anywhere on it must land in rows, not read as "outside".
|
|
872
880
|
*/
|
|
873
881
|
private dropZones;
|
|
874
882
|
private trackPointer;
|
|
875
|
-
/** dx `.
|
|
883
|
+
/** dx `.nxe-position-indicator`: a 2px gray bar between chips, inside the (positioned) area. */
|
|
876
884
|
private placeIndicator;
|
|
877
885
|
private completeDrop;
|
|
878
886
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NxePivotFieldPanelComponent, never>;
|
|
@@ -880,22 +888,22 @@ declare class NxePivotFieldPanelComponent implements OnDestroy {
|
|
|
880
888
|
}
|
|
881
889
|
|
|
882
890
|
/** `dxo-field-chooser` — LIVE since P3-C3: with `enabled` the pivot renders the
|
|
883
|
-
* `.
|
|
891
|
+
* `.nxe-pivotgrid-field-chooser-button` toolbar button and opens the chooser popup
|
|
884
892
|
* (nxe-pivot-field-chooser) in a CDK overlay. Defaults are dxPivotGrid's `fieldChooser`
|
|
885
893
|
* defaults (m_widget.js): enabled true, width/height 600, allowSearch false,
|
|
886
894
|
* applyChangesMode 'instantly' (no OK/Cancel — changes hit the pivot live). */
|
|
887
895
|
declare class NxeFieldChooserComponent {
|
|
888
896
|
readonly enabled: _angular_core.InputSignal<boolean>;
|
|
889
|
-
readonly height: _angular_core.InputSignal<number>;
|
|
890
|
-
readonly width: _angular_core.InputSignal<number>;
|
|
897
|
+
readonly height: _angular_core.InputSignal<number | undefined>;
|
|
898
|
+
readonly width: _angular_core.InputSignal<number | undefined>;
|
|
891
899
|
readonly allowSearch: _angular_core.InputSignal<boolean>;
|
|
892
900
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NxeFieldChooserComponent, never>;
|
|
893
901
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NxeFieldChooserComponent, "nxe-field-chooser", never, { "enabled": { "alias": "enabled"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "allowSearch": { "alias": "allowSearch"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
894
902
|
}
|
|
895
903
|
declare class NxePivotGridComponent implements OnDestroy {
|
|
896
|
-
readonly dataSource: _angular_core.InputSignal<NxePivotDataSourceOptions | NxePivotDataSource>;
|
|
904
|
+
readonly dataSource: _angular_core.InputSignal<NxePivotDataSourceOptions | NxePivotDataSource | null | undefined>;
|
|
897
905
|
/** dx `allowFiltering` (default false) — LIVE since P3-C4: filterable dimension chips
|
|
898
|
-
* (panel AND chooser) render the `.
|
|
906
|
+
* (panel AND chooser) render the `.nxe-header-filter` funnel and open the shared
|
|
899
907
|
* header-filter panel; per-field `field.allowFiltering` overrides the widget flag
|
|
900
908
|
* (dx m_widget `_updateCalculatedOptions`). */
|
|
901
909
|
readonly allowFiltering: _angular_core.InputSignal<boolean>;
|
|
@@ -908,14 +916,14 @@ declare class NxePivotGridComponent implements OnDestroy {
|
|
|
908
916
|
* `expandAll()`/`collapseAll()` work regardless, exactly as dx's data-source methods do. */
|
|
909
917
|
readonly allowExpandAll: _angular_core.InputSignal<boolean>;
|
|
910
918
|
readonly showBorders: _angular_core.InputSignal<boolean>;
|
|
911
|
-
/** dx default TRUE (m_widget.js defaultOptions): `
|
|
919
|
+
/** dx default TRUE (m_widget.js defaultOptions): `nxe-word-wrap` on the table lets header
|
|
912
920
|
* cells wrap; data cells stay nowrap either way (dx.light's direct td rule). */
|
|
913
921
|
readonly wordWrapEnabled: _angular_core.InputSignal<boolean>;
|
|
914
922
|
readonly rowHeaderLayout: _angular_core.InputSignal<NxePivotRowHeaderLayout>;
|
|
915
923
|
/** dx `height`: number (px) or CSS string, applied to the widget root — the internal
|
|
916
924
|
* scroll container tracks it at 100%. */
|
|
917
|
-
readonly height: _angular_core.InputSignal<string | number>;
|
|
918
|
-
readonly texts: _angular_core.InputSignal<NxePivotTexts>;
|
|
925
|
+
readonly height: _angular_core.InputSignal<string | number | undefined>;
|
|
926
|
+
readonly texts: _angular_core.InputSignal<NxePivotTexts | undefined>;
|
|
919
927
|
readonly showColumnTotals: _angular_core.InputSignal<boolean>;
|
|
920
928
|
readonly showRowTotals: _angular_core.InputSignal<boolean>;
|
|
921
929
|
readonly showColumnGrandTotals: _angular_core.InputSignal<boolean>;
|
|
@@ -925,9 +933,9 @@ declare class NxePivotGridComponent implements OnDestroy {
|
|
|
925
933
|
/** dx `dataFieldArea` (default 'column'): 'row' renders the measures as the innermost ROW
|
|
926
934
|
* level when two or more exist (with one, dx omits the metric level on either axis).
|
|
927
935
|
* Left undefined the engine falls back to the dataSource options' own `dataFieldArea`. */
|
|
928
|
-
readonly dataFieldArea: _angular_core.InputSignal<"row" | "column">;
|
|
936
|
+
readonly dataFieldArea: _angular_core.InputSignal<"row" | "column" | undefined>;
|
|
929
937
|
/** dx `allowSorting` (default false, P3-C2): field-panel chips toggle their field's
|
|
930
|
-
* sortOrder on click and carry the `.
|
|
938
|
+
* sortOrder on click and carry the `.nxe-sort` arrow in `.nxe-column-indicators`. */
|
|
931
939
|
readonly allowSorting: _angular_core.InputSignal<boolean>;
|
|
932
940
|
/**
|
|
933
941
|
* Facade `option(name, value)` writes land here and WIN over the input bindings — the dx
|
|
@@ -944,14 +952,14 @@ declare class NxePivotGridComponent implements OnDestroy {
|
|
|
944
952
|
protected readonly showBordersEff: Signal<boolean>;
|
|
945
953
|
protected readonly wordWrapEnabledEff: Signal<boolean>;
|
|
946
954
|
protected readonly rowHeaderLayoutEff: Signal<NxePivotRowHeaderLayout>;
|
|
947
|
-
protected readonly heightEff: Signal<string | number>;
|
|
948
|
-
protected readonly textsEff: Signal<NxePivotTexts>;
|
|
955
|
+
protected readonly heightEff: Signal<string | number | undefined>;
|
|
956
|
+
protected readonly textsEff: Signal<NxePivotTexts | undefined>;
|
|
949
957
|
protected readonly showColumnTotalsEff: Signal<boolean>;
|
|
950
958
|
protected readonly showRowTotalsEff: Signal<boolean>;
|
|
951
959
|
protected readonly showColumnGrandTotalsEff: Signal<boolean>;
|
|
952
960
|
protected readonly showRowGrandTotalsEff: Signal<boolean>;
|
|
953
961
|
protected readonly showTotalsPriorEff: Signal<NxePivotTotalsPrior>;
|
|
954
|
-
protected readonly dataFieldAreaEff: Signal<"row" | "column">;
|
|
962
|
+
protected readonly dataFieldAreaEff: Signal<"row" | "column" | undefined>;
|
|
955
963
|
/** The documented option names `option()` gets/sets (DEFAULTS.md lists the exclusions). */
|
|
956
964
|
private readonly effOptions;
|
|
957
965
|
/**
|
|
@@ -971,37 +979,42 @@ declare class NxePivotGridComponent implements OnDestroy {
|
|
|
971
979
|
* the same diff — never twice). `dataSource` rides along, get-only.
|
|
972
980
|
*/
|
|
973
981
|
private readonly optionSnapshot;
|
|
974
|
-
protected readonly fieldChooser: Signal<NxeFieldChooserComponent>;
|
|
982
|
+
protected readonly fieldChooser: Signal<NxeFieldChooserComponent | undefined>;
|
|
975
983
|
/** The projected `nxe-field-panel` config (P3-C2) — the panel renders when it is visible. */
|
|
976
|
-
protected readonly fieldPanel: Signal<NxeFieldPanelComponent>;
|
|
984
|
+
protected readonly fieldPanel: Signal<NxeFieldPanelComponent | undefined>;
|
|
977
985
|
/** The projected `nxe-state-storing` config — LIVE since P3-C4 for `type: 'custom'`:
|
|
978
986
|
* every layout mutation fires `customSave(state)` and `customLoad` is honored on init. */
|
|
979
|
-
protected readonly stateStoring: Signal<NxeStateStoringComponent>;
|
|
987
|
+
protected readonly stateStoring: Signal<NxeStateStoringComponent | undefined>;
|
|
980
988
|
/** dx `fieldPanel.visible` (default false): gates the panel, the corner's chips-vs-caption
|
|
981
989
|
* switch, and the dx marker classes on the host. */
|
|
982
990
|
protected readonly panelVisible: Signal<boolean>;
|
|
983
991
|
/** The rendered panel component — source of the corner-hosted row-area template. */
|
|
984
992
|
private readonly panelCmp;
|
|
985
993
|
/** The ROW fields area, outletted into the corner cell (dx hosts the row chips inside
|
|
986
|
-
* `.
|
|
987
|
-
protected readonly panelRowAreaTpl: Signal<_angular_core.TemplateRef<unknown
|
|
988
|
-
/** The `.
|
|
994
|
+
* `.nxe-area-description-cell` — oracle §c; the corner shows NO caption text then). */
|
|
995
|
+
protected readonly panelRowAreaTpl: Signal<_angular_core.TemplateRef<unknown> | null>;
|
|
996
|
+
/** The `.nxe-pivotgrid-field-chooser-button` renders only when an `nxe-field-chooser` is
|
|
989
997
|
* projected with `enabled` not false (the DA page passes [enabled]="true"). */
|
|
990
998
|
protected readonly chooserEnabled: Signal<boolean>;
|
|
991
999
|
/** dx toolbar placement (m_widget.js `_renderDescriptionArea`, verbatim branch order):
|
|
992
|
-
* (a) panel visible && showFilterFields -> the `.
|
|
993
|
-
* (b) panel visible && (showDataFields || showColumnFields) -> the `.
|
|
1000
|
+
* (a) panel visible && showFilterFields -> the `.nxe-filter-header` band;
|
|
1001
|
+
* (b) panel visible && (showDataFields || showColumnFields) -> the `.nxe-column-header`
|
|
994
1002
|
* band (dx-compat's dormant column-header button rules go live);
|
|
995
|
-
* (c) else -> the cross-tab corner `.
|
|
996
|
-
* transparent
|
|
997
|
-
|
|
1003
|
+
* (c) else -> the cross-tab corner `.nxe-area-description-cell`, where the button is
|
|
1004
|
+
* transparent until hover and the corner drops its caption (the library's own rules,
|
|
1005
|
+
* nxe-pivot-grid.component.scss — dx.light's description-cell toolbar rules). */
|
|
1006
|
+
protected readonly chooserToolbarHost: Signal<"column" | "filter" | "corner" | null>;
|
|
998
1007
|
/** The panel-hosted placements, bound into the panel's `toolbarArea` input. */
|
|
999
|
-
protected readonly panelToolbarArea: Signal<"column" | "filter">;
|
|
1008
|
+
protected readonly panelToolbarArea: Signal<"column" | "filter" | null>;
|
|
1000
1009
|
protected readonly chooserInCorner: Signal<boolean>;
|
|
1001
1010
|
private chooserOverlayRef;
|
|
1002
1011
|
private readonly overlay;
|
|
1003
1012
|
private readonly viewContainerRef;
|
|
1004
1013
|
private readonly elementRef;
|
|
1014
|
+
/** Locale separators for every number the pivot renders; threaded into the data source. */
|
|
1015
|
+
private readonly separators;
|
|
1016
|
+
/** The library's runtime-switchable messages. */
|
|
1017
|
+
protected readonly messages: NxeMessageService;
|
|
1005
1018
|
/** Bumped by `getDataSource().reload()` to force a re-aggregate. */
|
|
1006
1019
|
private readonly reloadTick;
|
|
1007
1020
|
/**
|
|
@@ -1029,7 +1042,7 @@ declare class NxePivotGridComponent implements OnDestroy {
|
|
|
1029
1042
|
* `expandAll()`/`collapseAll()`, so expand-all no longer wipes a dragged layout.)
|
|
1030
1043
|
*/
|
|
1031
1044
|
private readonly fieldOverrides;
|
|
1032
|
-
protected readonly engine: Signal<NxePivotDataSource>;
|
|
1045
|
+
protected readonly engine: Signal<NxePivotDataSource | null>;
|
|
1033
1046
|
/**
|
|
1034
1047
|
* The "layout changed" hook (P3-C2, consumed since P3-C4): the caller's fields with the
|
|
1035
1048
|
* panel's overrides merged — a NEW array identity after every mutation (drag move, sort
|
|
@@ -1050,11 +1063,11 @@ declare class NxePivotGridComponent implements OnDestroy {
|
|
|
1050
1063
|
* simply stop matching any node — harmless, dx-alike.
|
|
1051
1064
|
*/
|
|
1052
1065
|
private readonly manualExpanded;
|
|
1053
|
-
protected readonly model: Signal<NxePivotModel>;
|
|
1066
|
+
protected readonly model: Signal<NxePivotModel | null>;
|
|
1054
1067
|
/** Host height style — dx `height`: numbers are px, strings pass through, unset removes it. */
|
|
1055
|
-
protected readonly hostHeight: Signal<string>;
|
|
1068
|
+
protected readonly hostHeight: Signal<string | null>;
|
|
1056
1069
|
/** The projected `nxe-scrolling` config — `mode: 'virtual'` opts into row windowing. */
|
|
1057
|
-
protected readonly scrolling: Signal<NxeScrollingComponent>;
|
|
1070
|
+
protected readonly scrolling: Signal<NxeScrollingComponent | undefined>;
|
|
1058
1071
|
/** Scroll offset of `.nxe-pivotgrid-scroll` (its own scroll handler feeds it). */
|
|
1059
1072
|
private readonly scrollTop;
|
|
1060
1073
|
/** The scroll container's clientHeight, measured in the render effect (0 = unmeasured). */
|
|
@@ -1086,7 +1099,7 @@ declare class NxePivotGridComponent implements OnDestroy {
|
|
|
1086
1099
|
protected readonly totalColCount: Signal<number>;
|
|
1087
1100
|
protected onPivotScroll(event: Event): void;
|
|
1088
1101
|
/**
|
|
1089
|
-
* dx `.
|
|
1102
|
+
* dx `.nxe-pivotgrid-nodata` (gridCoreUtils.renderNoDataText): shown when the data source
|
|
1090
1103
|
* `isEmpty()` — no VISIBLE data field or nothing aggregated (empty/fully-filtered store);
|
|
1091
1104
|
* text `texts.noData` (dx default "No data"). The reloadTick read re-checks after an
|
|
1092
1105
|
* in-place instance reload.
|
|
@@ -1311,6 +1324,10 @@ declare class NxePivotGridComponent implements OnDestroy {
|
|
|
1311
1324
|
|
|
1312
1325
|
declare class NxePivotFieldChipComponent {
|
|
1313
1326
|
readonly chip: _angular_core.InputSignal<NxePivotPanelChip>;
|
|
1327
|
+
/** dx showColumnLines for this chip's surface: true in the field chooser and the panel's
|
|
1328
|
+
* ROW area — the indicators come FIRST and float right; false (panel column / filter /
|
|
1329
|
+
* data areas) — they follow the caption inline. */
|
|
1330
|
+
readonly floatIndicators: _angular_core.InputSignal<boolean>;
|
|
1314
1331
|
/** Raw pointerdown — the host decides whether a drag gesture may begin. */
|
|
1315
1332
|
readonly chipPointerDown: _angular_core.OutputEmitterRef<PointerEvent>;
|
|
1316
1333
|
/** Chip click (the host consults its gesture's click suppression before sorting). */
|
|
@@ -1319,9 +1336,18 @@ declare class NxePivotFieldChipComponent {
|
|
|
1319
1336
|
readonly chipFilterClick: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
1320
1337
|
protected onFunnelClick(event: MouseEvent): void;
|
|
1321
1338
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NxePivotFieldChipComponent, never>;
|
|
1322
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NxePivotFieldChipComponent, "div[nxePivotFieldChip]", never, { "chip": { "alias": "chip"; "required": true; "isSignal": true; }; }, { "chipPointerDown": "chipPointerDown"; "chipClick": "chipClick"; "chipFilterClick": "chipFilterClick"; }, never, never, true, never>;
|
|
1339
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NxePivotFieldChipComponent, "div[nxePivotFieldChip]", never, { "chip": { "alias": "chip"; "required": true; "isSignal": true; }; "floatIndicators": { "alias": "floatIndicators"; "required": false; "isSignal": true; }; }, { "chipPointerDown": "chipPointerDown"; "chipClick": "chipClick"; "chipFilterClick": "chipFilterClick"; }, never, never, true, never>;
|
|
1323
1340
|
}
|
|
1324
1341
|
|
|
1342
|
+
/** dx fieldChooser texts (m_field_chooser.js `_getDefaultOptions` messages), as library message keys. */
|
|
1343
|
+
declare const CHOOSER_TEXT_KEYS: {
|
|
1344
|
+
readonly allFields: "pivot.chooser.allFields";
|
|
1345
|
+
readonly rowFields: "pivot.chooser.rowFields";
|
|
1346
|
+
readonly columnFields: "pivot.chooser.columnFields";
|
|
1347
|
+
readonly filterFields: "pivot.chooser.filterFields";
|
|
1348
|
+
readonly dataFields: "pivot.chooser.dataFields";
|
|
1349
|
+
readonly title: "pivot.chooser.title";
|
|
1350
|
+
};
|
|
1325
1351
|
/** One All-Fields tree row (the fixture's flat leaf list — local fields have no groups). */
|
|
1326
1352
|
interface ChooserTreeItem {
|
|
1327
1353
|
fieldIndex: number;
|
|
@@ -1337,11 +1363,11 @@ interface ChooserArea {
|
|
|
1337
1363
|
}
|
|
1338
1364
|
declare class NxePivotFieldChooserComponent implements OnDestroy {
|
|
1339
1365
|
/** The pivot's LIVE engine signal (overrides merged) — instant applies re-read it here. */
|
|
1340
|
-
readonly engine: _angular_core.InputSignal<Signal<NxePivotDataSource>>;
|
|
1366
|
+
readonly engine: _angular_core.InputSignal<Signal<NxePivotDataSource | null>>;
|
|
1341
1367
|
/** dx `fieldChooser.width`/`height` — applied to the popup box; dxPivotGrid defaults 600
|
|
1342
1368
|
* (m_widget.js `fieldChooser` defaults; the DA page passes height 400). */
|
|
1343
|
-
readonly width: _angular_core.InputSignal<number>;
|
|
1344
|
-
readonly height: _angular_core.InputSignal<number>;
|
|
1369
|
+
readonly width: _angular_core.InputSignal<number | undefined>;
|
|
1370
|
+
readonly height: _angular_core.InputSignal<number | undefined>;
|
|
1345
1371
|
/** dx `fieldChooser.allowSearch` (default false — the capture has NO search box). */
|
|
1346
1372
|
readonly allowSearch: _angular_core.InputSignal<boolean>;
|
|
1347
1373
|
/** Widget `allowSorting`: dimension chips inside the chooser sort on click, same as the
|
|
@@ -1362,19 +1388,14 @@ declare class NxePivotFieldChooserComponent implements OnDestroy {
|
|
|
1362
1388
|
readonly filterOpen: _angular_core.OutputEmitterRef<NxePivotFilterOpenEvent>;
|
|
1363
1389
|
/** The title-bar X — the pivot disposes the overlay (Escape/backdrop close there too). */
|
|
1364
1390
|
readonly closed: _angular_core.OutputEmitterRef<void>;
|
|
1365
|
-
protected readonly
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
columnFields: string;
|
|
1369
|
-
filterFields: string;
|
|
1370
|
-
dataFields: string;
|
|
1371
|
-
title: string;
|
|
1372
|
-
};
|
|
1391
|
+
protected readonly messages: NxeMessageService;
|
|
1392
|
+
/** The chooser's captions in the active language; read in the template, so a switch re-renders. */
|
|
1393
|
+
protected get texts(): Record<keyof typeof CHOOSER_TEXT_KEYS, string>;
|
|
1373
1394
|
protected readonly allIcon: string;
|
|
1374
1395
|
protected readonly searchText: _angular_core.WritableSignal<string>;
|
|
1375
1396
|
private readonly elementRef;
|
|
1376
1397
|
private readonly zone;
|
|
1377
|
-
/** Popup box size — dx puts fieldChooser.width/height on `.
|
|
1398
|
+
/** Popup box size — dx puts fieldChooser.width/height on `.nxe-overlay-content` (600 dflt). */
|
|
1378
1399
|
protected readonly boxWidth: Signal<string>;
|
|
1379
1400
|
protected readonly boxHeight: Signal<string>;
|
|
1380
1401
|
/**
|
|
@@ -1403,7 +1424,7 @@ declare class NxePivotFieldChooserComponent implements OnDestroy {
|
|
|
1403
1424
|
*/
|
|
1404
1425
|
private allowedIn;
|
|
1405
1426
|
private trackPointer;
|
|
1406
|
-
/** dx `.
|
|
1427
|
+
/** dx `.nxe-position-indicator-vertical`: a 2px bar between the stacked chips. */
|
|
1407
1428
|
private placeIndicator;
|
|
1408
1429
|
private completeDrop;
|
|
1409
1430
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NxePivotFieldChooserComponent, never>;
|
|
@@ -1413,22 +1434,22 @@ declare class NxePivotFieldChooserComponent implements OnDestroy {
|
|
|
1413
1434
|
/** `dxo-common-series-settings` — the series type (only `bar` is used). */
|
|
1414
1435
|
declare class NxeCommonSeriesSettingsComponent {
|
|
1415
1436
|
readonly type: _angular_core.InputSignal<"area" | "line" | "bar" | "spline">;
|
|
1416
|
-
readonly argumentField: _angular_core.InputSignal<string>;
|
|
1417
|
-
readonly valueField: _angular_core.InputSignal<string>;
|
|
1437
|
+
readonly argumentField: _angular_core.InputSignal<string | undefined>;
|
|
1438
|
+
readonly valueField: _angular_core.InputSignal<string | undefined>;
|
|
1418
1439
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NxeCommonSeriesSettingsComponent, never>;
|
|
1419
1440
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NxeCommonSeriesSettingsComponent, "nxe-common-series-settings", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "argumentField": { "alias": "argumentField"; "required": false; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1420
1441
|
}
|
|
1421
1442
|
/** `dxo-size` — fixed chart height. */
|
|
1422
1443
|
declare class NxeSizeComponent {
|
|
1423
|
-
readonly width: _angular_core.InputSignal<number>;
|
|
1424
|
-
readonly height: _angular_core.InputSignal<number>;
|
|
1444
|
+
readonly width: _angular_core.InputSignal<number | undefined>;
|
|
1445
|
+
readonly height: _angular_core.InputSignal<number | undefined>;
|
|
1425
1446
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NxeSizeComponent, never>;
|
|
1426
1447
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NxeSizeComponent, "nxe-size", never, { "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1427
1448
|
}
|
|
1428
1449
|
/** `dxo-adaptive-layout` — responsive breakpoint width (the chart fills its container above it). */
|
|
1429
1450
|
declare class NxeAdaptiveLayoutComponent {
|
|
1430
|
-
readonly width: _angular_core.InputSignal<number>;
|
|
1431
|
-
readonly height: _angular_core.InputSignal<number>;
|
|
1451
|
+
readonly width: _angular_core.InputSignal<number | undefined>;
|
|
1452
|
+
readonly height: _angular_core.InputSignal<number | undefined>;
|
|
1432
1453
|
readonly keepLabels: _angular_core.InputSignal<boolean>;
|
|
1433
1454
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NxeAdaptiveLayoutComponent, never>;
|
|
1434
1455
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NxeAdaptiveLayoutComponent, "nxe-adaptive-layout", never, { "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "keepLabels": { "alias": "keepLabels"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
@@ -1441,13 +1462,13 @@ interface BarRect {
|
|
|
1441
1462
|
fill: string;
|
|
1442
1463
|
}
|
|
1443
1464
|
declare class NxeChartComponent {
|
|
1444
|
-
readonly dataSource: _angular_core.InputSignal<NxeChartSeries>;
|
|
1445
|
-
protected readonly commonSeries: _angular_core.Signal<NxeCommonSeriesSettingsComponent>;
|
|
1446
|
-
protected readonly size: _angular_core.Signal<NxeSizeComponent>;
|
|
1447
|
-
protected readonly adaptiveLayout: _angular_core.Signal<NxeAdaptiveLayoutComponent>;
|
|
1465
|
+
readonly dataSource: _angular_core.InputSignal<NxeChartSeries | null | undefined>;
|
|
1466
|
+
protected readonly commonSeries: _angular_core.Signal<NxeCommonSeriesSettingsComponent | undefined>;
|
|
1467
|
+
protected readonly size: _angular_core.Signal<NxeSizeComponent | undefined>;
|
|
1468
|
+
protected readonly adaptiveLayout: _angular_core.Signal<NxeAdaptiveLayoutComponent | undefined>;
|
|
1448
1469
|
/** Series pushed by `pivotGrid.bindChart(...)`; falls back to the `[dataSource]` input. */
|
|
1449
1470
|
private readonly pushed;
|
|
1450
|
-
protected readonly series: _angular_core.Signal<NxeChartSeries>;
|
|
1471
|
+
protected readonly series: _angular_core.Signal<NxeChartSeries | null>;
|
|
1451
1472
|
protected readonly chartHeight: _angular_core.Signal<number>;
|
|
1452
1473
|
protected readonly chartWidth: _angular_core.Signal<number>;
|
|
1453
1474
|
protected readonly hasData: _angular_core.Signal<boolean>;
|