@epam/statgpt-conversation-view 0.4.0-rc.8 → 0.4.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.
Files changed (32) hide show
  1. package/components/AdvancedView/TableSettings/AgGridColumnPanel/helpers/columnPanelMapping.d.ts +50 -0
  2. package/components/AdvancedView/TableSettings/AgGridColumnPanel/helpers/columnStateSnapshot.d.ts +16 -0
  3. package/components/AdvancedView/TableSettings/AgGridColumnPanel/helpers/draggableListUtils.d.ts +34 -0
  4. package/components/AdvancedView/TableSettings/AgGridColumnPanel/hooks/useAgGridColumnGridListeners.d.ts +6 -0
  5. package/components/AdvancedView/TableSettings/AgGridColumnPanel/{useAgGridColumnPreferences.d.ts → hooks/useAgGridColumnPreferences.d.ts} +6 -1
  6. package/components/AdvancedView/TableSettings/AgGridColumnPanel/{useAgGridColumnsPanel.d.ts → hooks/useAgGridColumnsPanel.d.ts} +10 -3
  7. package/components/AdvancedView/TableSettings/helpers/crossDatasetEnrichment.d.ts +44 -0
  8. package/components/AdvancedView/TableSettings/helpers/dimensionSubItemId.d.ts +25 -0
  9. package/components/AdvancedView/TableSettings/types.d.ts +5 -0
  10. package/components/Attachments/GridCellRenderers/helpers/get-external-link-from-context.d.ts +1 -0
  11. package/index.js +7 -7
  12. package/index.mjs +7097 -5739
  13. package/models/attachments-styles.d.ts +4 -0
  14. package/models/filters.d.ts +13 -1
  15. package/models/titles.d.ts +4 -0
  16. package/package.json +8 -7
  17. package/utils/attachments/attachment-parser.d.ts +1 -0
  18. package/utils/attachments/charting/chart-legend-width.d.ts +2 -2
  19. package/utils/attachments/cross-dataset-grid/build-cross-dataset-grid-attachment.d.ts +1 -1
  20. package/utils/attachments/cross-dataset-grid/dimensions-columns.d.ts +2 -0
  21. package/utils/attachments/markdown-attachments.d.ts +12 -0
  22. package/utils/attachments/time-period.d.ts +1 -0
  23. package/utils/attachments/unwrap-markdown-code.d.ts +6 -0
  24. package/utils/filters.d.ts +10 -1
  25. package/utils/get-filled-filters.d.ts +6 -5
  26. package/utils/hierarchy-request-context.d.ts +8 -0
  27. package/utils/hierarchy-view.d.ts +9 -0
  28. package/utils/multiple-filters.d.ts +14 -7
  29. package/utils/normalize-constraint-filters.d.ts +2 -0
  30. package/utils/use-hierarchy-state.d.ts +17 -0
  31. package/components/AdvancedView/TableSettings/AgGridColumnPanel/helpers.d.ts +0 -24
  32. package/components/AdvancedView/TableSettings/AgGridColumnPanel/useAgGridColumnGridListeners.d.ts +0 -2
@@ -12,6 +12,9 @@ export interface AttachmentsStyles {
12
12
  openLinkTitle?: string;
13
13
  dataGridTitle?: string;
14
14
  downloadTitle?: string;
15
+ downloadButtonTextClassName?: string;
16
+ hideDownloadTextInConversationView?: boolean;
17
+ hideDownloadIconInAdvancedView?: boolean;
15
18
  columnsTitle?: string;
16
19
  columnsResetTitle?: string;
17
20
  closeTitle?: string;
@@ -21,6 +24,7 @@ export interface AttachmentsStyles {
21
24
  isDisplayDatasetIcon?: boolean;
22
25
  isDownloadDescriptionVisible?: boolean;
23
26
  downloadTitles?: DownloadTitles;
27
+ downloadCollapsible?: boolean;
24
28
  codeAttachmentContainerClassName?: string;
25
29
  copyTitle?: string;
26
30
  copiedTitle?: string;
@@ -1,5 +1,5 @@
1
1
  import { Dispatch, ReactNode, SetStateAction } from 'react';
2
- import { DataConstraints, DatasetQueryFilters, Dimension, SeriesFilterDto, StructuralData, StructuralMetaData, StructureItemBase } from '../../../sdmx-toolkit/src/index';
2
+ import { DataConstraints, DatasetQueryFilters, Dimension, CodelistData, Hierarchy, SeriesFilterDto, StructuralData, StructuralMetaData, StructureItemBase } from '../../../sdmx-toolkit/src/index';
3
3
  import { DataQuery, TimeRange, TimeRangeOptions } from '../../../shared-toolkit/src/index';
4
4
  import { LimitMessages } from '../../../ui-components/src/index';
5
5
  import { PutOnboardingFile, UpdateConversation } from '../types/actions';
@@ -25,6 +25,7 @@ export interface SharedFilter extends FilterBase {
25
25
  filterType: 'shared';
26
26
  datasetUrn?: undefined;
27
27
  sourceDatasetUrns?: string[];
28
+ sourceFilterIdsByDataset?: Record<string, string>;
28
29
  }
29
30
  export type Filter = DatasetFilter | SharedFilter;
30
31
  export interface FilterValueSource {
@@ -44,6 +45,7 @@ export interface FilterValue {
44
45
  export interface FilterTreeNodeProps extends FilterValue {
45
46
  children?: FilterTreeNodeProps[];
46
47
  level?: number;
48
+ disabled?: boolean;
47
49
  }
48
50
  export interface FilterButtonProps {
49
51
  title?: string;
@@ -67,10 +69,20 @@ export interface FiltersModalProps {
67
69
  filterValuesProps?: FilterValuesProps;
68
70
  resetIcon?: ReactNode;
69
71
  }
72
+ export interface HierarchyState {
73
+ availableHierarchies: Hierarchy[];
74
+ selectedHierarchy: Hierarchy | null;
75
+ mainHierarchy: Hierarchy | null;
76
+ codelists: CodelistData[];
77
+ treeNodes: FilterTreeNodeProps[];
78
+ isLoading: boolean;
79
+ }
70
80
  export interface FiltersProps {
71
81
  actions?: {
72
82
  getConstraints: (urn: string, filters?: SeriesFilterDto[]) => Promise<StructuralMetaData>;
73
83
  putOnboardingFile?: PutOnboardingFile;
84
+ getAvailableHierarchies?: (codelistUrn: string, sourceArtefactUrn?: string) => Promise<StructuralMetaData>;
85
+ getHierarchy?: (hierarchyUrn: string, sourceArtefactUrn?: string) => Promise<StructuralMetaData>;
74
86
  };
75
87
  dimensions?: Dimension[];
76
88
  structureDimensions?: StructureItemBase[];
@@ -42,6 +42,7 @@ export interface ConversationViewTitles extends WelcomeViewTitles {
42
42
  clearAll?: string;
43
43
  clearAllFilters?: string;
44
44
  appliedFilters?: string;
45
+ otherResults?: string;
45
46
  to?: string;
46
47
  from?: string;
47
48
  all?: string;
@@ -91,5 +92,8 @@ export interface ConversationViewTitles extends WelcomeViewTitles {
91
92
  datasetMetadataPanel?: string;
92
93
  countryMetadataPanel?: string;
93
94
  indicatorMetadataPanel?: string;
95
+ searchMinCharsCaption?: string;
96
+ noResultsInSection?: (sectionName: string) => string;
97
+ noResultsInOtherDimensions?: string;
94
98
  }
95
99
  export {};
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@epam/statgpt-conversation-view",
3
- "version": "0.4.0-rc.8",
3
+ "version": "0.4.0",
4
4
  "license": "MIT",
5
5
  "dependencies": {
6
6
  "classnames": "^2.5.1",
7
7
  "@epam/ai-dial-shared": "^0.43.3",
8
8
  "@tabler/icons-react": "^3.34.1",
9
- "@epam/statgpt-shared-toolkit": "0.4.0-rc.8",
10
- "@epam/statgpt-ui-components": "0.4.0-rc.8",
11
- "@epam/statgpt-sdmx-toolkit": "0.4.0-rc.8",
9
+ "@epam/statgpt-shared-toolkit": "0.4.0",
10
+ "@epam/statgpt-ui-components": "0.4.0",
11
+ "@epam/statgpt-sdmx-toolkit": "0.4.0",
12
12
  "react-window": "^1.8.11",
13
13
  "react-virtualized-auto-sizer": "^1.0.26",
14
14
  "ag-grid-community": "33.3.2",
@@ -16,16 +16,17 @@
16
16
  "@floating-ui/react": "^0.27.14",
17
17
  "echarts": "^5.6.0",
18
18
  "echarts-for-react": "^3.0.2",
19
- "@epam/statgpt-dial-toolkit": "0.4.0-rc.8",
19
+ "@epam/statgpt-dial-toolkit": "0.4.0",
20
20
  "react-markdown": "^10.1.0",
21
21
  "remark-gfm": "^4.0.1",
22
- "@epam/statgpt-conversation-list": "0.4.0-rc.8",
22
+ "@epam/statgpt-conversation-list": "0.4.0",
23
23
  "flatpickr": "4.6.13",
24
24
  "react-flatpickr": "^4.0.11",
25
25
  "date-fns": "^4.1.0",
26
26
  "lodash": "^4.17.23",
27
27
  "tailwind-merge": "^3.4.0",
28
- "@monaco-editor/react": "^4.7.0"
28
+ "@monaco-editor/react": "^4.7.0",
29
+ "@testing-library/jest-dom": "^6.6.3"
29
30
  },
30
31
  "peerDependencies": {
31
32
  "react": "^19.2.1"
@@ -11,3 +11,4 @@ export declare function isCustomChartAttachment(attachment: Attachment): boolean
11
11
  export declare function isChartAttachment(attachment: Attachment): boolean;
12
12
  export declare function isCustomCodeSampleAttachment(attachment: Attachment): boolean;
13
13
  export declare function isCrossDatasetGrid(attachment: Attachment): boolean;
14
+ export declare function isAnyGridAttachment(attachment: Attachment): boolean;
@@ -1,2 +1,2 @@
1
- import { LegendComponentOption } from 'echarts';
2
- export declare function estimateLegendItemWidth(chart: echarts.ECharts, text: string, legendOpts: LegendComponentOption): number;
1
+ import { ECharts, LegendComponentOption } from 'echarts';
2
+ export declare function estimateLegendItemWidth(chart: ECharts, text: string, legendOpts: LegendComponentOption): number;
@@ -7,7 +7,7 @@ import { GridData } from '../../../types/data-grid/grid-data';
7
7
  import { ChartingStyles } from '../../../models/attachments-styles';
8
8
  import { ConversationViewTitles } from '../../../models/titles';
9
9
  export declare function buildCrossDatasetGridAttachment(structuresMap: Map<string, StructuralData | undefined>, dataMessageMap: Map<string, DataMessage | null>, datasetDimensionsSchemeMap: Map<string, DatasetDimensionsScheme | undefined>, dataQueries: DataQuery[], locale: string, formattingSettings?: FormatNumbersType, metadataSettings?: MetadataSettings, chartStyles?: ChartingStyles, titles?: ConversationViewTitles, constraintsMap?: Map<string, DataConstraints[] | undefined>, selectedTimePeriod?: TimeRange): Partial<CrossDatasetGridAttachmentType>;
10
- export declare function buildCrossDatasetGridContent(structuresMap: Map<string, StructuralData | undefined>, dataMessagesMap: Map<string, DataMessage | null>, datasetDimensionsSchemesMap: Map<string, DatasetDimensionsScheme | undefined>, dataQueries: DataQuery[], locale: string, formattingSettings?: FormatNumbersType, metadataSettings?: MetadataSettings, chartStyles?: ChartingStyles, titles?: ConversationViewTitles, constraintsMap?: Map<string, DataConstraints[] | undefined>, selectedTimePeriod?: TimeRange): {
10
+ export declare function buildCrossDatasetGridContent(structuresMap: Map<string, StructuralData | undefined>, dataMessagesMap: Map<string, DataMessage | null>, datasetDimensionsSchemesMap: Map<string, DatasetDimensionsScheme | undefined>, dataQueries: DataQuery[], locale: string, formattingSettings?: FormatNumbersType, metadataSettings?: MetadataSettings, chartStyles?: ChartingStyles, titles?: ConversationViewTitles, _constraintsMap?: Map<string, DataConstraints[] | undefined>, _selectedTimePeriod?: TimeRange): {
11
11
  data: GridData[];
12
12
  columns: ColDef[];
13
13
  };
@@ -1,4 +1,6 @@
1
1
  import { DatasetDimensionsScheme, StructuralData } from '../../../../../sdmx-toolkit/src/index';
2
2
  import { ColDef } from 'ag-grid-community';
3
+ import { GridData } from '../../../types/data-grid/grid-data';
3
4
  import { ConversationViewTitles } from '../../../models/titles';
4
5
  export declare function getCrossDatasetDimensionsColumns(structuresMap: Map<string, StructuralData | undefined>, datasetDimensionsSchemesMap: Map<string, DatasetDimensionsScheme | undefined>, locale: string, titles?: ConversationViewTitles): ColDef[];
6
+ export declare function getDimensionValue(structures: StructuralData, dimensionId: string, data: GridData, locale: string): string | undefined;
@@ -1,3 +1,15 @@
1
1
  import { Attachment } from '@epam/ai-dial-shared';
2
2
  import { CustomCodeAttachment } from '../../models/attachments';
3
+ /**
4
+ * Filters and transforms raw MARKDOWN-typed attachments into synthetic
5
+ * `CUSTOM_CODE_SAMPLE` attachments containing unwrapped Python code.
6
+ *
7
+ * Only attachments whose language resolves to `python` after fence-stripping
8
+ * are included. When `urn` is provided, attachments are further scoped to
9
+ * those whose title contains the dataset URN.
10
+ *
11
+ * @param rawAttachments - Full list of raw attachments from the message response.
12
+ * @param urn - Dataset URN used to scope attachments by title; pass `undefined` to include all markdown attachments.
13
+ * @param codeSamplesTitle - Display title for the generated attachments; defaults to `"Code samples"`.
14
+ */
3
15
  export declare function buildMarkdownAttachments(rawAttachments: Attachment[], urn: string | undefined, codeSamplesTitle?: string): CustomCodeAttachment[];
@@ -9,3 +9,4 @@ export declare const getDateString: (date?: Date | null, locale?: string) => str
9
9
  export declare const getMergedTimeRange: (attachmentTimeRange: TimeRange, constraintsTimeRange: TimeRange) => TimeRange;
10
10
  export declare const getRangedTimePeriod: (initialTimeRange: TimeRange, period: string | number) => TimeRange;
11
11
  export declare const localizeTimePeriod: (period: string, titles?: ConversationViewTitles) => string;
12
+ export declare const getMergedInitialConstraints: (initialTimeRange: TimeRange, selectedTimeRange: TimeRange | null) => TimeRange;
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Strips the opening and closing triple-backtick fences from a Markdown code block
3
+ * and returns the inner code along with the detected language identifier.
4
+ *
5
+ * @param input - Raw string that may be a fenced Markdown code block or plain text.
6
+ */
1
7
  export declare function unwrapMarkdownCode(input: string): {
2
8
  code: string;
3
9
  language?: string;
@@ -1,4 +1,4 @@
1
- import { DataConstraints, Dimension, StructuralData, StructureItemBase } from '../../../sdmx-toolkit/src/index';
1
+ import { DataConstraints, Dimension, Hierarchy, StructuralData, StructureItemBase } from '../../../sdmx-toolkit/src/index';
2
2
  import { Filter, FilterTreeNodeProps, FilterValue } from '../models/filters';
3
3
  import { DataQuery } from '../../../shared-toolkit/src/index';
4
4
  import { FilterDisplayMode } from '../constants/filter-display-mode';
@@ -33,6 +33,7 @@ export declare const updateFiltersWithDisabledOption: (filters: Filter[]) => ({
33
33
  filterType: "shared";
34
34
  datasetUrn?: undefined;
35
35
  sourceDatasetUrns?: string[];
36
+ sourceFilterIdsByDataset?: Record<string, string>;
36
37
  id?: string;
37
38
  title?: string;
38
39
  dimensionValues?: FilterValue[];
@@ -49,3 +50,11 @@ export declare const getFilterDisplaySettings: (titles?: ConversationViewTitles)
49
50
  key: FilterDisplayMode;
50
51
  title: string;
51
52
  }[];
53
+ export declare const getHierarchyOptions: ({ isHierarchical, availableHierarchies, titles, }: {
54
+ isHierarchical?: boolean;
55
+ availableHierarchies?: Hierarchy[];
56
+ titles?: ConversationViewTitles;
57
+ }) => {
58
+ key: string;
59
+ title: string;
60
+ }[];
@@ -1,9 +1,9 @@
1
1
  import { DataConstraints, Dimension, StructuralData } from '../../../sdmx-toolkit/src/index';
2
- import { Filter } from '../models/filters';
2
+ import { Filter, FilterValue } from '../models/filters';
3
3
  import { Locale } from '../../../shared-toolkit/src/index';
4
4
  export declare const getFilledFilters: (filters?: Filter[], dimensions?: Dimension[], structures?: StructuralData, contentConstraints?: DataConstraints[], locale?: Locale) => ({
5
5
  isDisabled: boolean;
6
- dimensionValues: {
6
+ dimensionValues: (FilterValue | {
7
7
  isSelectedValue: boolean | undefined;
8
8
  codes?: import('../../../sdmx-toolkit/src/index').Code[];
9
9
  agencyID?: string;
@@ -17,7 +17,7 @@ export declare const getFilledFilters: (filters?: Filter[], dimensions?: Dimensi
17
17
  names?: Record<string, string>;
18
18
  description?: string;
19
19
  descriptions?: Record<string, string>;
20
- }[];
20
+ })[];
21
21
  filterType: "dataset";
22
22
  datasetUrn?: string;
23
23
  id?: string;
@@ -29,7 +29,7 @@ export declare const getFilledFilters: (filters?: Filter[], dimensions?: Dimensi
29
29
  displayMode?: string;
30
30
  } | {
31
31
  isDisabled: boolean;
32
- dimensionValues: {
32
+ dimensionValues: (FilterValue | {
33
33
  isSelectedValue: boolean | undefined;
34
34
  codes?: import('../../../sdmx-toolkit/src/index').Code[];
35
35
  agencyID?: string;
@@ -43,10 +43,11 @@ export declare const getFilledFilters: (filters?: Filter[], dimensions?: Dimensi
43
43
  names?: Record<string, string>;
44
44
  description?: string;
45
45
  descriptions?: Record<string, string>;
46
- }[];
46
+ })[];
47
47
  filterType: "shared";
48
48
  datasetUrn?: undefined;
49
49
  sourceDatasetUrns?: string[];
50
+ sourceFilterIdsByDataset?: Record<string, string>;
50
51
  id?: string;
51
52
  title?: string;
52
53
  isSelectedFilter?: boolean;
@@ -0,0 +1,8 @@
1
+ import { Dimension, StructuralData } from '../../../sdmx-toolkit/src/index';
2
+ import { Filter } from '../models/filters';
3
+ export declare const getSourceArtefactUrnForDatasetFilter: (filterId: string | undefined, structures?: StructuralData) => string | undefined;
4
+ export declare const getCodelistUrnForDatasetFilter: (filterId: string | undefined, datasetUrn: string | undefined, dimensionsMap?: Map<string, Dimension[]>, structuresMap?: Map<string, StructuralData | undefined>) => string | undefined;
5
+ export declare const getHierarchyRequestContextForFilter: (filter: Filter, dimensionsMap?: Map<string, Dimension[]>, structuresMap?: Map<string, StructuralData | undefined>) => {
6
+ codelistUrn?: string;
7
+ sourceArtefactUrn?: string;
8
+ };
@@ -0,0 +1,9 @@
1
+ import { CodelistData, DataConstraints, HierarchicalCode, Hierarchy, TreeNode } from '../../../sdmx-toolkit/src/index';
2
+ import { FilterTreeNodeProps } from '../models/filters';
3
+ export declare function getLatestHierarchies(hierarchies: Hierarchy[]): Hierarchy[];
4
+ export declare function buildHierarchyUrn(hierarchy: Hierarchy): string;
5
+ export declare function buildHierarchyFilterTreeProps(mainHierarchy: Hierarchy, codelists: CodelistData[], filterId: string, constraints: DataConstraints[] | undefined, codelistUrn: string | undefined): FilterTreeNodeProps[];
6
+ export declare function hierarchyNodesToFilterTreeProps(nodes: TreeNode<HierarchicalCode>[]): FilterTreeNodeProps[];
7
+ export declare function applySelectionToTree(nodes: FilterTreeNodeProps[], selectedIds: Set<string>): FilterTreeNodeProps[];
8
+ export declare function toggleTreeNodeExpansion(nodes: FilterTreeNodeProps[], nodeId: string): FilterTreeNodeProps[];
9
+ export declare function filterHierarchyNodes(nodes: FilterTreeNodeProps[], searchText: string): FilterTreeNodeProps[];
@@ -1,10 +1,15 @@
1
- import { DataConstraints, DatasetQueryFilters, Dimension, SeriesFilterDto, StructuralData, StructuralMetaData } from '../../../sdmx-toolkit/src/index';
1
+ import { DataConstraints, DatasetQueryFilters, DatasetDimensionsMetadataMap, Dimension, SeriesFilterDto, StructuralData, StructuralMetaData } from '../../../sdmx-toolkit/src/index';
2
2
  import { Filter, FiltersProps } from '../models/filters';
3
3
  import { DataQuery, Locale, QueryFilter, TimeRange } from '../../../shared-toolkit/src/index';
4
4
  import { StructureDataMaps } from '../models/structure-data';
5
+ type ExtendedStructuralMetadata = {
6
+ urn: string;
7
+ data?: StructuralMetaData;
8
+ };
5
9
  export declare const COMMON_COUNTRY_FILTER_ID = "COUNTRY";
6
10
  export declare const COMMON_FREQUENCY_FILTER_ID = "FREQUENCY";
7
11
  export declare const COMMON_TIME_PERIOD_FILTER_ID = "TIME_PERIOD";
12
+ export declare const SHARED_FILTER_IDS: Set<string>;
8
13
  export declare const getFilledDatasetFiltersMap: (structureDataMaps?: StructureDataMaps, locale?: string) => Map<string, ({
9
14
  dimensionValues: import('../../../sdmx-toolkit/src/index').Codelist[];
10
15
  filterType: "dataset";
@@ -22,6 +27,7 @@ export declare const getFilledDatasetFiltersMap: (structureDataMaps?: StructureD
22
27
  filterType: "shared";
23
28
  datasetUrn?: undefined;
24
29
  sourceDatasetUrns?: string[];
30
+ sourceFilterIdsByDataset?: Record<string, string>;
25
31
  id?: string;
26
32
  title?: string;
27
33
  isSelectedFilter?: boolean;
@@ -31,16 +37,17 @@ export declare const getFilledDatasetFiltersMap: (structureDataMaps?: StructureD
31
37
  isDisabled?: boolean;
32
38
  displayMode?: string;
33
39
  })[]>;
34
- export declare const getFiltersPreselectedByDataQueries: (filtersMap: Map<string, Filter[]>, dataQueries?: DataQuery[], constraintsMap?: Map<string, DataConstraints[] | undefined>) => Filter[];
35
- export declare const buildFiltersMap: (filters: Filter[], constraintsMap?: Map<string, DataConstraints[] | undefined>) => Map<string, Filter[]>;
36
- export declare const getFiltersByConstraints: (filtersMap: Map<string, Filter[]>, structureDataMaps?: StructureDataMaps, locale?: Locale) => Filter[];
37
- export declare const getFiltersForQueryContext: (filters: Filter[], datasetUrn?: string) => Filter[];
40
+ export declare const getFiltersPreselectedByDataQueries: (filtersMap: Map<string, Filter[]>, dataQueries?: DataQuery[], constraintsMap?: Map<string, DataConstraints[] | undefined>, datasetDimensionsMetadataMap?: DatasetDimensionsMetadataMap) => Filter[];
41
+ export declare const buildFiltersMap: (filters: Filter[], constraintsMap?: Map<string, DataConstraints[] | undefined>, applySharedFallback?: boolean, datasetDimensionsMetadataMap?: DatasetDimensionsMetadataMap) => Map<string, Filter[]>;
42
+ export declare const getFiltersByConstraints: (filtersMap: Map<string, Filter[]>, structureDataMaps?: StructureDataMaps, locale?: Locale, datasetDimensionsMetadataMap?: DatasetDimensionsMetadataMap) => Filter[];
43
+ export declare const getFiltersForQueryContext: (filters: Filter[], datasetUrn?: string, datasetDimensionsMetadataMap?: DatasetDimensionsMetadataMap) => Filter[];
38
44
  export declare const getDatasetNameFromFilters: (filter: Filter, structuresMap?: Map<string, StructuralData | undefined>) => string | undefined;
39
45
  export declare const isStructureDataMapsReady: (dataQueries?: FiltersProps["dataQueries"], structureDataMaps?: FiltersProps["structureDataMaps"]) => boolean;
40
46
  export declare const getConstraintsRequests: (dataQueries?: DataQuery[], filtersMap?: Map<string, Filter[]>, actions?: {
41
47
  getConstraints: (urn: string, filters?: SeriesFilterDto[]) => Promise<StructuralMetaData>;
42
- }) => Promise<StructuralMetaData>[];
43
- export declare const getConstraintsMap: (constraintsData: StructuralMetaData[]) => Map<string, DataConstraints[] | undefined>;
48
+ }) => Promise<ExtendedStructuralMetadata>[];
49
+ export declare const getConstraintsMap: (constraintsData: ExtendedStructuralMetadata[]) => Map<string, DataConstraints[] | undefined>;
44
50
  export declare const getInitialConstraints: (isCrossDatasetModeOn: boolean, filter?: Filter, initialConstraints?: DataConstraints[], initialConstraintsMap?: Map<string, DataConstraints[] | undefined>) => DataConstraints[];
45
51
  export declare const getQueryFiltersMap: (filtersMap: Map<string, Filter[]>, dataQueries?: DataQuery[], dimensionsMap?: Map<string, Dimension[]>) => Map<string, DatasetQueryFilters>;
46
52
  export declare const setDataQueryFiltersMap: (dataQueries?: DataQuery[], filtersMap?: Map<string, Filter[]>) => Map<string, QueryFilter[]>;
53
+ export {};
@@ -0,0 +1,2 @@
1
+ import { SeriesFilterDto } from '../../../sdmx-toolkit/src/index';
2
+ export declare const normalizeConstraintFilters: (filters: SeriesFilterDto[]) => SeriesFilterDto[];
@@ -0,0 +1,17 @@
1
+ import { DataConstraints, Hierarchy, StructuralMetaData } from '../../../sdmx-toolkit/src/index';
2
+ import { Filter, HierarchyState } from '../models/filters';
3
+ interface UseHierarchyStateOptions {
4
+ getCodelistUrnForFilter: (filter: Filter) => string | undefined;
5
+ getConstraintsForFilter: (filter: Filter) => DataConstraints[] | undefined;
6
+ getSourceArtefactUrn?: (filter: Filter) => string | undefined;
7
+ getAvailableHierarchies?: (codelistUrn: string, sourceArtefactUrn?: string) => Promise<StructuralMetaData>;
8
+ getHierarchy?: (hierarchyUrn: string, sourceArtefactUrn?: string) => Promise<StructuralMetaData>;
9
+ }
10
+ export declare const useHierarchyState: ({ getCodelistUrnForFilter, getConstraintsForFilter, getSourceArtefactUrn, getAvailableHierarchies, getHierarchy, }: UseHierarchyStateOptions) => {
11
+ hierarchyStateMap: Map<string, HierarchyState>;
12
+ rebuildHierarchyTree: (filter: Filter, constraints?: DataConstraints[]) => void;
13
+ loadAvailableHierarchies: (filter: Filter) => Promise<void>;
14
+ onSelectHierarchy: (filter?: Filter, hierarchy?: Hierarchy | null) => void;
15
+ onExpandHierarchyNode: (filterKey: string, nodeId: string) => void;
16
+ };
17
+ export {};
@@ -1,24 +0,0 @@
1
- import { ColDef, GridApi } from 'ag-grid-community';
2
- import { DraggableListItemNode, DraggableListNode } from '../../../../../../ui-components/src/index';
3
- import { DatasetDimensionsScheme, DimensionConfig, StructuralData } from '../../../../../../sdmx-toolkit/src/index';
4
- import { AgGridInitialColumnsState, ColumnPanelFilter } from './types';
5
- export declare const DEFAULT_INCLUDE_COLUMN: ColumnPanelFilter;
6
- export declare function getColId(def: ColDef): string | null;
7
- export declare function getColLabel(def: ColDef): string;
8
- export declare function buildColumnStateMap(api: GridApi): Map<string, import('ag-grid-community').ColumnState>;
9
- export declare function mapColumnsToPanelItems(api: GridApi, includeColumn: ColumnPanelFilter): DraggableListNode[];
10
- export declare function getItemNodeByPath(nodes: DraggableListNode[], path: readonly string[]): DraggableListItemNode | undefined;
11
- export declare function flattenIncludedLeafIds(nodes: DraggableListNode[], isLeaf?: (node: DraggableListItemNode) => boolean): string[];
12
- export interface CrossDatasetColumnsInfo {
13
- dataQueries: Array<{
14
- urn: string;
15
- }>;
16
- structuresMap: Map<string, StructuralData | undefined>;
17
- getDimensionsScheme: (urn: string) => DatasetDimensionsScheme | undefined;
18
- getDimensionConfig: (urn: string, dimKey: string) => DimensionConfig | undefined;
19
- locale: string;
20
- }
21
- export declare function buildCrossDatasetEnrichItem(info: CrossDatasetColumnsInfo): (item: DraggableListItemNode) => DraggableListItemNode;
22
- export declare function mergeIncludedOrderIntoFullOrder(fullOrder: string[], includedOrder: string[], includedSet: Set<string>): string[];
23
- export declare function captureInitialColumnsState(api: GridApi): AgGridInitialColumnsState;
24
- export declare function restoreInitialColumnsState(api: GridApi, initialState?: AgGridInitialColumnsState | null): void;
@@ -1,2 +0,0 @@
1
- import { GridApi } from 'ag-grid-community';
2
- export declare function useAgGridColumnGridListeners(api: GridApi | null | undefined, listener: () => void): void;