@sisense/sdk-pivot-query-client 2.17.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 (189) hide show
  1. package/LICENSE.md +35 -0
  2. package/README.md +2 -0
  3. package/dist/__test-helpers__/testUtils.d.ts +30 -0
  4. package/dist/__test-helpers__/testUtils.js +89 -0
  5. package/dist/builders/index.d.ts +2 -0
  6. package/dist/builders/index.js +2 -0
  7. package/dist/builders/pivot-data-builder.d.ts +34 -0
  8. package/dist/builders/pivot-data-builder.js +182 -0
  9. package/dist/builders/socket-builder.d.ts +18 -0
  10. package/dist/builders/socket-builder.js +72 -0
  11. package/dist/cjs/__test-helpers__/testUtils.d.ts +30 -0
  12. package/dist/cjs/__test-helpers__/testUtils.js +104 -0
  13. package/dist/cjs/builders/index.d.ts +2 -0
  14. package/dist/cjs/builders/index.js +7 -0
  15. package/dist/cjs/builders/pivot-data-builder.d.ts +34 -0
  16. package/dist/cjs/builders/pivot-data-builder.js +186 -0
  17. package/dist/cjs/builders/socket-builder.d.ts +18 -0
  18. package/dist/cjs/builders/socket-builder.js +79 -0
  19. package/dist/cjs/data-handling/DataService.d.ts +672 -0
  20. package/dist/cjs/data-handling/DataService.js +1364 -0
  21. package/dist/cjs/data-handling/DivergenceComparator.d.ts +7 -0
  22. package/dist/cjs/data-handling/DivergenceComparator.js +20 -0
  23. package/dist/cjs/data-handling/constants.d.ts +44 -0
  24. package/dist/cjs/data-handling/constants.js +43 -0
  25. package/dist/cjs/data-handling/index.d.ts +3 -0
  26. package/dist/cjs/data-handling/index.js +23 -0
  27. package/dist/cjs/data-handling/types.d.ts +104 -0
  28. package/dist/cjs/data-handling/types.js +2 -0
  29. package/dist/cjs/data-handling/utils/createPivotTreeNode.d.ts +13 -0
  30. package/dist/cjs/data-handling/utils/createPivotTreeNode.js +21 -0
  31. package/dist/cjs/data-handling/utils/index.d.ts +4 -0
  32. package/dist/cjs/data-handling/utils/index.js +14 -0
  33. package/dist/cjs/data-handling/utils/jaqlProcessor.d.ts +122 -0
  34. package/dist/cjs/data-handling/utils/jaqlProcessor.js +661 -0
  35. package/dist/cjs/data-handling/utils/pivotTransforms.d.ts +74 -0
  36. package/dist/cjs/data-handling/utils/pivotTransforms.js +373 -0
  37. package/dist/cjs/data-handling/utils/plugins/PluginService.d.ts +135 -0
  38. package/dist/cjs/data-handling/utils/plugins/PluginService.js +383 -0
  39. package/dist/cjs/data-handling/utils/plugins/getters.d.ts +23 -0
  40. package/dist/cjs/data-handling/utils/plugins/getters.js +70 -0
  41. package/dist/cjs/data-handling/utils/plugins/types.d.ts +75 -0
  42. package/dist/cjs/data-handling/utils/plugins/types.js +2 -0
  43. package/dist/cjs/data-handling/utils/plugins/validator.d.ts +13 -0
  44. package/dist/cjs/data-handling/utils/plugins/validator.js +169 -0
  45. package/dist/cjs/data-load/AbstractDataLoadService.d.ts +256 -0
  46. package/dist/cjs/data-load/AbstractDataLoadService.js +473 -0
  47. package/dist/cjs/data-load/DataLoadService.d.ts +63 -0
  48. package/dist/cjs/data-load/DataLoadService.js +152 -0
  49. package/dist/cjs/data-load/SisenseDataLoadService.d.ts +44 -0
  50. package/dist/cjs/data-load/SisenseDataLoadService.js +87 -0
  51. package/dist/cjs/data-load/TestDataLoadService.d.ts +27 -0
  52. package/dist/cjs/data-load/TestDataLoadService.js +76 -0
  53. package/dist/cjs/data-load/constants.d.ts +13 -0
  54. package/dist/cjs/data-load/constants.js +28 -0
  55. package/dist/cjs/data-load/index.d.ts +6 -0
  56. package/dist/cjs/data-load/index.js +14 -0
  57. package/dist/cjs/data-load/sockets/SisenseSocket.d.ts +81 -0
  58. package/dist/cjs/data-load/sockets/SisenseSocket.js +162 -0
  59. package/dist/cjs/data-load/sockets/TestSocket.d.ts +61 -0
  60. package/dist/cjs/data-load/sockets/TestSocket.js +90 -0
  61. package/dist/cjs/data-load/sockets/helpers.d.ts +4 -0
  62. package/dist/cjs/data-load/sockets/helpers.js +27 -0
  63. package/dist/cjs/data-load/sockets/index.d.ts +2 -0
  64. package/dist/cjs/data-load/sockets/index.js +8 -0
  65. package/dist/cjs/data-load/types.d.ts +90 -0
  66. package/dist/cjs/data-load/types.js +2 -0
  67. package/dist/cjs/errors/LoadingCanceledError.d.ts +7 -0
  68. package/dist/cjs/errors/LoadingCanceledError.js +24 -0
  69. package/dist/cjs/errors/index.d.ts +1 -0
  70. package/dist/cjs/errors/index.js +6 -0
  71. package/dist/cjs/index.d.ts +17 -0
  72. package/dist/cjs/index.js +32 -0
  73. package/dist/cjs/package.json +12 -0
  74. package/dist/cjs/pivot-query-client.d.ts +13 -0
  75. package/dist/cjs/pivot-query-client.js +26 -0
  76. package/dist/cjs/tree-structure/AbstractTreeService.d.ts +308 -0
  77. package/dist/cjs/tree-structure/AbstractTreeService.js +716 -0
  78. package/dist/cjs/tree-structure/HeaderTreeService.d.ts +180 -0
  79. package/dist/cjs/tree-structure/HeaderTreeService.js +280 -0
  80. package/dist/cjs/tree-structure/TreeCellMap.d.ts +104 -0
  81. package/dist/cjs/tree-structure/TreeCellMap.js +145 -0
  82. package/dist/cjs/tree-structure/TreeService.d.ts +8 -0
  83. package/dist/cjs/tree-structure/TreeService.js +12 -0
  84. package/dist/cjs/tree-structure/constants.d.ts +6 -0
  85. package/dist/cjs/tree-structure/constants.js +10 -0
  86. package/dist/cjs/tree-structure/index.d.ts +5 -0
  87. package/dist/cjs/tree-structure/index.js +10 -0
  88. package/dist/cjs/tree-structure/types.d.ts +93 -0
  89. package/dist/cjs/tree-structure/types.js +2 -0
  90. package/dist/cjs/tree-structure/utils/index.d.ts +1 -0
  91. package/dist/cjs/tree-structure/utils/index.js +9 -0
  92. package/dist/cjs/tree-structure/utils/treeNode.d.ts +147 -0
  93. package/dist/cjs/tree-structure/utils/treeNode.js +534 -0
  94. package/dist/cjs/utils/array.d.ts +13 -0
  95. package/dist/cjs/utils/array.js +25 -0
  96. package/dist/cjs/utils/cloneObject.d.ts +30 -0
  97. package/dist/cjs/utils/cloneObject.js +225 -0
  98. package/dist/cjs/utils/index.d.ts +3 -0
  99. package/dist/cjs/utils/index.js +9 -0
  100. package/dist/cjs/utils/throttle.d.ts +12 -0
  101. package/dist/cjs/utils/throttle.js +39 -0
  102. package/dist/cjs/utils/types.d.ts +12 -0
  103. package/dist/cjs/utils/types.js +2 -0
  104. package/dist/data-handling/DataService.d.ts +672 -0
  105. package/dist/data-handling/DataService.js +1357 -0
  106. package/dist/data-handling/DivergenceComparator.d.ts +7 -0
  107. package/dist/data-handling/DivergenceComparator.js +16 -0
  108. package/dist/data-handling/constants.d.ts +44 -0
  109. package/dist/data-handling/constants.js +40 -0
  110. package/dist/data-handling/index.d.ts +3 -0
  111. package/dist/data-handling/index.js +4 -0
  112. package/dist/data-handling/types.d.ts +104 -0
  113. package/dist/data-handling/types.js +1 -0
  114. package/dist/data-handling/utils/createPivotTreeNode.d.ts +13 -0
  115. package/dist/data-handling/utils/createPivotTreeNode.js +17 -0
  116. package/dist/data-handling/utils/index.d.ts +4 -0
  117. package/dist/data-handling/utils/index.js +4 -0
  118. package/dist/data-handling/utils/jaqlProcessor.d.ts +122 -0
  119. package/dist/data-handling/utils/jaqlProcessor.js +621 -0
  120. package/dist/data-handling/utils/pivotTransforms.d.ts +74 -0
  121. package/dist/data-handling/utils/pivotTransforms.js +335 -0
  122. package/dist/data-handling/utils/plugins/PluginService.d.ts +135 -0
  123. package/dist/data-handling/utils/plugins/PluginService.js +379 -0
  124. package/dist/data-handling/utils/plugins/getters.d.ts +23 -0
  125. package/dist/data-handling/utils/plugins/getters.js +65 -0
  126. package/dist/data-handling/utils/plugins/types.d.ts +75 -0
  127. package/dist/data-handling/utils/plugins/types.js +1 -0
  128. package/dist/data-handling/utils/plugins/validator.d.ts +13 -0
  129. package/dist/data-handling/utils/plugins/validator.js +165 -0
  130. package/dist/data-load/AbstractDataLoadService.d.ts +256 -0
  131. package/dist/data-load/AbstractDataLoadService.js +466 -0
  132. package/dist/data-load/DataLoadService.d.ts +63 -0
  133. package/dist/data-load/DataLoadService.js +148 -0
  134. package/dist/data-load/SisenseDataLoadService.d.ts +44 -0
  135. package/dist/data-load/SisenseDataLoadService.js +83 -0
  136. package/dist/data-load/TestDataLoadService.d.ts +27 -0
  137. package/dist/data-load/TestDataLoadService.js +69 -0
  138. package/dist/data-load/constants.d.ts +13 -0
  139. package/dist/data-load/constants.js +25 -0
  140. package/dist/data-load/index.d.ts +6 -0
  141. package/dist/data-load/index.js +6 -0
  142. package/dist/data-load/sockets/SisenseSocket.d.ts +81 -0
  143. package/dist/data-load/sockets/SisenseSocket.js +155 -0
  144. package/dist/data-load/sockets/TestSocket.d.ts +61 -0
  145. package/dist/data-load/sockets/TestSocket.js +83 -0
  146. package/dist/data-load/sockets/helpers.d.ts +4 -0
  147. package/dist/data-load/sockets/helpers.js +23 -0
  148. package/dist/data-load/sockets/index.d.ts +2 -0
  149. package/dist/data-load/sockets/index.js +3 -0
  150. package/dist/data-load/types.d.ts +90 -0
  151. package/dist/data-load/types.js +1 -0
  152. package/dist/errors/LoadingCanceledError.d.ts +7 -0
  153. package/dist/errors/LoadingCanceledError.js +20 -0
  154. package/dist/errors/index.d.ts +1 -0
  155. package/dist/errors/index.js +2 -0
  156. package/dist/index.d.ts +17 -0
  157. package/dist/index.js +9 -0
  158. package/dist/pivot-query-client.d.ts +13 -0
  159. package/dist/pivot-query-client.js +22 -0
  160. package/dist/tree-structure/AbstractTreeService.d.ts +308 -0
  161. package/dist/tree-structure/AbstractTreeService.js +712 -0
  162. package/dist/tree-structure/HeaderTreeService.d.ts +180 -0
  163. package/dist/tree-structure/HeaderTreeService.js +276 -0
  164. package/dist/tree-structure/TreeCellMap.d.ts +104 -0
  165. package/dist/tree-structure/TreeCellMap.js +141 -0
  166. package/dist/tree-structure/TreeService.d.ts +8 -0
  167. package/dist/tree-structure/TreeService.js +8 -0
  168. package/dist/tree-structure/constants.d.ts +6 -0
  169. package/dist/tree-structure/constants.js +7 -0
  170. package/dist/tree-structure/index.d.ts +5 -0
  171. package/dist/tree-structure/index.js +4 -0
  172. package/dist/tree-structure/types.d.ts +93 -0
  173. package/dist/tree-structure/types.js +1 -0
  174. package/dist/tree-structure/utils/index.d.ts +1 -0
  175. package/dist/tree-structure/utils/index.js +1 -0
  176. package/dist/tree-structure/utils/treeNode.d.ts +147 -0
  177. package/dist/tree-structure/utils/treeNode.js +515 -0
  178. package/dist/tsconfig.prod.cjs.tsbuildinfo +1 -0
  179. package/dist/utils/array.d.ts +13 -0
  180. package/dist/utils/array.js +21 -0
  181. package/dist/utils/cloneObject.d.ts +30 -0
  182. package/dist/utils/cloneObject.js +221 -0
  183. package/dist/utils/index.d.ts +3 -0
  184. package/dist/utils/index.js +3 -0
  185. package/dist/utils/throttle.d.ts +12 -0
  186. package/dist/utils/throttle.js +35 -0
  187. package/dist/utils/types.d.ts +12 -0
  188. package/dist/utils/types.js +1 -0
  189. package/package.json +61 -0
@@ -0,0 +1,7 @@
1
+ import { PivotTreeNode } from './types.js';
2
+ export declare class DivergenceComparator {
3
+ divergence: number;
4
+ constructor(items?: Array<PivotTreeNode>, prevComparator?: DivergenceComparator);
5
+ getDivergence(): number;
6
+ }
7
+ export default DivergenceComparator;
@@ -0,0 +1,16 @@
1
+ import { treeNode } from '../tree-structure/utils/index.js';
2
+ export class DivergenceComparator {
3
+ constructor(items = [], prevComparator) {
4
+ this.divergence = 0;
5
+ const prevDivergence = prevComparator ? prevComparator.getDivergence() : 0;
6
+ const itemsLastLevel = treeNode.getLastLevelNodes(items);
7
+ this.divergence = (prevDivergence + itemsLastLevel.length) % 2;
8
+ for (let i = 0; i < itemsLastLevel.length; i += 1) {
9
+ itemsLastLevel[i].indexDivergence = (i + prevDivergence) % 2;
10
+ }
11
+ }
12
+ getDivergence() {
13
+ return this.divergence;
14
+ }
15
+ }
16
+ export default DivergenceComparator;
@@ -0,0 +1,44 @@
1
+ export declare type Values<T extends {}> = T[keyof T];
2
+ export declare const PanelType: {
3
+ ROWS: "rows";
4
+ COLUMNS: "columns";
5
+ MEASURES: "measures";
6
+ SCOPE: "scope";
7
+ };
8
+ export declare type ListOfPanelTypes = Values<typeof PanelType>;
9
+ export declare const SortingDirection: {
10
+ ASC: "asc";
11
+ DESC: "desc";
12
+ };
13
+ export declare type ListOfSortingDirections = Values<typeof SortingDirection>;
14
+ export declare const UserType: {
15
+ SUB_TOTAL: string;
16
+ GRAND_TOTAL: string;
17
+ MEASURE_TOP: string;
18
+ MEASURE_BOTTOM: string;
19
+ CORNER: string;
20
+ };
21
+ export declare const ColorFormatType: {
22
+ COLOR: string;
23
+ CONDITION: string;
24
+ };
25
+ export declare const JaqlDataType: {
26
+ DATETIME: "datetime";
27
+ TEXT: "text";
28
+ NUMERIC: "numeric";
29
+ };
30
+ export declare type ListOfJaqlDataTypes = Values<typeof JaqlDataType>;
31
+ export declare const PluginsTypesFields: {
32
+ MEMBER: string;
33
+ VALUE: string;
34
+ SUB_TOTAL: string;
35
+ GRAND_TOTAL: string;
36
+ };
37
+ export declare const PluginsPanelFields: {
38
+ MEMBER: string;
39
+ INDEX: string;
40
+ TITLE: string;
41
+ NAME: string;
42
+ AGG: string;
43
+ DIM: string;
44
+ };
@@ -0,0 +1,40 @@
1
+ export const PanelType = {
2
+ ROWS: 'rows',
3
+ COLUMNS: 'columns',
4
+ MEASURES: 'measures',
5
+ SCOPE: 'scope',
6
+ };
7
+ export const SortingDirection = {
8
+ ASC: 'asc',
9
+ DESC: 'desc',
10
+ };
11
+ export const UserType = {
12
+ SUB_TOTAL: 'subTotal',
13
+ GRAND_TOTAL: 'grandTotal',
14
+ MEASURE_TOP: 'measureTop',
15
+ MEASURE_BOTTOM: 'measureBottom',
16
+ CORNER: 'corner',
17
+ };
18
+ export const ColorFormatType = {
19
+ COLOR: 'color',
20
+ CONDITION: 'condition',
21
+ };
22
+ export const JaqlDataType = {
23
+ DATETIME: 'datetime',
24
+ TEXT: 'text',
25
+ NUMERIC: 'numeric',
26
+ };
27
+ export const PluginsTypesFields = {
28
+ MEMBER: 'member',
29
+ VALUE: 'value',
30
+ SUB_TOTAL: 'subtotal',
31
+ GRAND_TOTAL: 'grandtotal',
32
+ };
33
+ export const PluginsPanelFields = {
34
+ MEMBER: 'member',
35
+ INDEX: 'index',
36
+ TITLE: 'title',
37
+ NAME: 'name',
38
+ AGG: 'agg',
39
+ DIM: 'dim',
40
+ };
@@ -0,0 +1,3 @@
1
+ export { DataService } from './DataService.js';
2
+ export { DivergenceComparator } from './DivergenceComparator.js';
3
+ export * from './types.js';
@@ -0,0 +1,4 @@
1
+ /* eslint-disable import/prefer-default-export */
2
+ export { DataService } from './DataService.js';
3
+ export { DivergenceComparator } from './DivergenceComparator.js';
4
+ export * from './types.js';
@@ -0,0 +1,104 @@
1
+ import { JaqlPanel, JaqlRequest } from '../data-load/types.js';
2
+ import { TreeNode, TreeServiceI } from '../tree-structure/types.js';
3
+ import { Defer, InputStyles } from '../utils/types.js';
4
+ import { GlobalStyles, Metadata, PluginConfig } from './utils/plugins/types.js';
5
+ export declare type PivotTreeNode<ContentType = any> = TreeNode & {
6
+ content?: null | string | ContentType;
7
+ contentType?: string;
8
+ metadataType?: string;
9
+ userType?: string;
10
+ tableType?: string;
11
+ jaqlIndex?: number;
12
+ measureJaqlIndex?: number;
13
+ measurePath?: {
14
+ [key: string]: string;
15
+ };
16
+ parent?: PivotTreeNode<ContentType>;
17
+ master?: PivotTreeNode<ContentType>;
18
+ dir?: string | null;
19
+ databars?: boolean;
20
+ state?: {
21
+ isSelected?: boolean;
22
+ isDrilled?: boolean;
23
+ };
24
+ store?: {
25
+ domReadyDefer?: Defer;
26
+ [key: string]: any;
27
+ };
28
+ };
29
+ declare type CompileRangeArgs = {
30
+ minvalue?: number;
31
+ midvalue?: number;
32
+ maxvalue?: number;
33
+ min?: string;
34
+ max?: string;
35
+ minDef?: string;
36
+ maxDef?: string;
37
+ minGray?: string;
38
+ maxGray?: string;
39
+ };
40
+ export declare type PivotDataNode<ContentType = any, Style = InputStyles> = {
41
+ value: any;
42
+ content?: null | string | ContentType;
43
+ contentType?: string;
44
+ cf?: number;
45
+ style?: Style;
46
+ jaqlIndex?: number;
47
+ state?: {
48
+ isSelected?: boolean;
49
+ isDrilled?: boolean;
50
+ };
51
+ store?: {
52
+ domReadyDefer?: Defer;
53
+ compileRange?: (arg: CompileRangeArgs) => (value: number) => string;
54
+ compileRangeContext?: unknown;
55
+ compileRangeArgs?: CompileRangeArgs;
56
+ [key: string]: any;
57
+ };
58
+ };
59
+ export interface InitPageData {
60
+ rowsTreeService?: TreeServiceI;
61
+ columnsTreeService?: TreeServiceI;
62
+ cornerTreeService?: TreeServiceI;
63
+ isLastPage: boolean;
64
+ cellsMetadata?: Map<string, Metadata>;
65
+ }
66
+ export declare type AllDataInfo = {
67
+ loadedRowsCount: number;
68
+ totalItemsCount: number;
69
+ totalColumnsCount?: number;
70
+ totalRecordsCount?: number;
71
+ columnsCount?: number;
72
+ limitReached?: boolean;
73
+ dataBars?: Array<[string, string]>;
74
+ rangeMinMax?: Array<[string, string]>;
75
+ };
76
+ export interface DataServiceI {
77
+ on(eventName: string, callback: Function): void;
78
+ off(eventName: string, callback: Function): void;
79
+ emit(eventName: string, ...payload: Array<any>): void;
80
+ getSelectedPageData(selected: number, pageSize?: number): Promise<InitPageData>;
81
+ getIndexedPageData(from: number, to: number, lastPage?: boolean): Promise<InitPageData>;
82
+ loadAllData(): Promise<AllDataInfo>;
83
+ loadData(jaql?: JaqlRequest, options?: {
84
+ pageSize?: number;
85
+ isPaginated?: boolean;
86
+ metadata?: Array<JaqlPanel>;
87
+ cacheResult?: boolean;
88
+ }): Promise<InitPageData>;
89
+ getJaql(): JaqlRequest | undefined;
90
+ isSingleRowTree(): boolean;
91
+ preProcessTree(items: TreeNode | Array<TreeNode>, type: string, options?: {
92
+ level?: number;
93
+ measurePath?: {
94
+ [key: string]: string;
95
+ };
96
+ }): Array<PivotTreeNode>;
97
+ modifyTree(items: Array<PivotTreeNode>, type: string, originalData: TreeNode): Array<PivotTreeNode>;
98
+ postProcessTree(items: Array<PivotTreeNode>): void;
99
+ cancelLoading(): void;
100
+ destroy(): void;
101
+ setPluginHandlers(plugins: Array<PluginConfig>): void;
102
+ setGlobalStyles(styles: GlobalStyles): void;
103
+ }
104
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,13 @@
1
+ import { TreeNode } from '../../tree-structure/types.js';
2
+ import { PivotTreeNode } from '../types.js';
3
+ /**
4
+ * Converts TreeNode to PivotTreeNode
5
+ *
6
+ * @param {TreeNode} node - tree node
7
+ * @param {string} [type] - type of node to create, columns/rows
8
+ * @returns {PivotTreeNode} - converted node
9
+ *
10
+ * @private
11
+ */
12
+ export declare const createPivotTreeNode: (node: TreeNode, type?: string) => PivotTreeNode;
13
+ export default createPivotTreeNode;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Converts TreeNode to PivotTreeNode
3
+ *
4
+ * @param {TreeNode} node - tree node
5
+ * @param {string} [type] - type of node to create, columns/rows
6
+ * @returns {PivotTreeNode} - converted node
7
+ *
8
+ * @private
9
+ */
10
+ export const createPivotTreeNode = (node, type) => {
11
+ const pivotNode = node;
12
+ if (type) {
13
+ pivotNode.metadataType = type;
14
+ }
15
+ return pivotNode;
16
+ };
17
+ export default createPivotTreeNode;
@@ -0,0 +1,4 @@
1
+ export { default as jaqlProcessor } from './jaqlProcessor.js';
2
+ export { default as pivotTransforms } from './pivotTransforms.js';
3
+ export { default as createPivotTreeNode } from './createPivotTreeNode.js';
4
+ export { PluginService } from './plugins/PluginService.js';
@@ -0,0 +1,4 @@
1
+ export { default as jaqlProcessor } from './jaqlProcessor.js';
2
+ export { default as pivotTransforms } from './pivotTransforms.js';
3
+ export { default as createPivotTreeNode } from './createPivotTreeNode.js';
4
+ export { PluginService } from './plugins/PluginService.js';
@@ -0,0 +1,122 @@
1
+ import { JaqlPanel, JaqlRequest, MeasurePath, SortDetails } from '../../data-load/types.js';
2
+ import { ListOfJaqlDataTypes, ListOfSortingDirections } from '../constants.js';
3
+ import { PivotTreeNode } from '../types.js';
4
+ export declare type DataTypes = {
5
+ [key: string]: string;
6
+ };
7
+ export declare function getDataTypes(panels?: Array<JaqlPanel>): DataTypes;
8
+ export declare function isMeasurePathEqual(_measurePathA?: MeasurePath | null, _measurePathB?: MeasurePath | null, dataTypes?: DataTypes): boolean;
9
+ /**
10
+ * Get appropriate metadata panels (rows/columns/measures) from JAQL request object
11
+ *
12
+ * @param {JaqlRequest} jaql - jaql with metadata
13
+ * @param {string} type - panels type to receive
14
+ * @returns {Array<JaqlPanel>} - list of panels
15
+ */
16
+ export declare const getMetadataPanels: (jaql?: JaqlRequest, type?: string) => Array<JaqlPanel>;
17
+ /**
18
+ * Get appropriate metadata panel (rows/columns/measures) from JAQL request object by panel index
19
+ *
20
+ * @param {JaqlRequest} jaql - jaql with metadata
21
+ * @param {number} index - panel index
22
+ * @param {string} [type] - panels type to receive
23
+ * @returns {JaqlPanel} - jaql panels
24
+ */
25
+ export declare const getMetadataPanelByIndex: (jaql?: JaqlRequest, index?: number, type?: string) => JaqlPanel | undefined;
26
+ /**
27
+ * Get appropriate metadata panels (rows/columns/measures) in TreeNode structure from
28
+ * JAQL request object
29
+ *
30
+ * @param {JaqlRequest} jaql - jaql with metadata
31
+ * @param {string} [type=PanelType.ROWS] - panels type to receive
32
+ * @returns {PivotTreeNode} - metadata panels tree
33
+ */
34
+ export declare const getMetadataTree: (jaql?: JaqlRequest, type?: string) => PivotTreeNode;
35
+ /**
36
+ * Removes redundant sort details for single branch tree
37
+ * (As such pivot can be sorted only by one panel)
38
+ *
39
+ * @param {JaqlRequest} jaql - jaql request
40
+ * @returns {void}
41
+ */
42
+ export declare const normalizeSingleBranchTreeSortDetails: (jaql: JaqlRequest) => void;
43
+ /**
44
+ * Updates last applied flag on metadata item sort details
45
+ * (Required for proper apply single branch tree sorting)
46
+ *
47
+ * @param {JaqlRequest} jaql - jaql request
48
+ * @param {SortDetails} sortDetails - last updated sort details
49
+ * @returns {void}
50
+ */
51
+ export declare const updateLastAppliedSortingFlag: (jaql: JaqlRequest, sortDetails: SortDetails) => void;
52
+ /**
53
+ * method to handle new sorting metadata
54
+ *
55
+ * @param {SortDetails} sortDetails - node with sorting metadata
56
+ * @param {?JaqlRequest} jaql - jaql to process
57
+ * @param {object} [options] - additional options
58
+ * @param {Function} [options.formatter] - fields formatter for measurePath
59
+ * @param {boolean} [options.isSingleRowTree] - defines data structure
60
+ * @returns {JaqlRequest} - reload pivot after jaql formatting
61
+ */
62
+ export declare const updatePanelsSortingMetadata: (sortDetails: SortDetails, jaql: JaqlRequest, options?: {
63
+ formatter?: Function;
64
+ isSingleRowTree?: boolean;
65
+ }) => void;
66
+ /**
67
+ * Set width for jaql panel item
68
+ *
69
+ * @param {JaqlRequest} jaql - jaql request object
70
+ * @param {number} jaqlIndex - jaql panel item index
71
+ * @param {number} width - jaql panel item width
72
+ * @returns {void}
73
+ */
74
+ export declare const setResizeWidthToJaql: (jaql: JaqlRequest | undefined, jaqlIndex: number, width: number) => void;
75
+ /**
76
+ * Get pairs 'jaqlIndex: value' for jaql panel items
77
+ *
78
+ * @param {JaqlRequest} jaql - jaql request object
79
+ * @returns {object} - object, keys - jaqlIndex, value - width
80
+ * appropriate width
81
+ */
82
+ export declare const getResizeWidthFromJaql: (jaql?: JaqlRequest) => {
83
+ [key: number]: number;
84
+ };
85
+ export declare const markSortedNode: (jaql: JaqlRequest | undefined, item: PivotTreeNode) => void;
86
+ declare function handleComplexSortingSettingsUpdate(jaql: JaqlRequest, desiredSortingSettings: (SortingSettingsItem & {
87
+ indexInJaql: number;
88
+ })[], possibleSortDetailsOfCurrentMeasure: SortDetails, options: {
89
+ formatter?: Function;
90
+ isSingleRowTree: boolean;
91
+ }): void;
92
+ export declare type SortingSettingsItem = {
93
+ title: string;
94
+ datatype: ListOfJaqlDataTypes;
95
+ selected: boolean;
96
+ direction: ListOfSortingDirections | null;
97
+ indexInJaql?: number;
98
+ };
99
+ declare function mapWidgetJaqlToComplexSortingSettings(jaql: JaqlRequest, possibleSortDetailsOfCurrentMeasure: SortDetails): Array<Omit<SortingSettingsItem, 'indexInJaql'>>;
100
+ declare function mapWidgetJaqlToSimpleSortingSettings(metadataPanels: JaqlPanel[], possibleSortDetailsOfCurrentMeasure: SortDetails, dataTypes: DataTypes): SortingSettingsItem | undefined;
101
+ declare const _default: {
102
+ isMeasurePathEqual: typeof isMeasurePathEqual;
103
+ getDataTypes: typeof getDataTypes;
104
+ updatePanelsSortingMetadata: (sortDetails: SortDetails, jaql: JaqlRequest, options?: {
105
+ formatter?: Function | undefined;
106
+ isSingleRowTree?: boolean | undefined;
107
+ } | undefined) => void;
108
+ getMetadataTree: (jaql?: JaqlRequest | undefined, type?: string) => PivotTreeNode<any>;
109
+ getMetadataPanels: (jaql?: JaqlRequest | undefined, type?: string | undefined) => JaqlPanel[];
110
+ getMetadataPanelByIndex: (jaql?: JaqlRequest | undefined, index?: number | undefined, type?: string | undefined) => JaqlPanel | undefined;
111
+ setResizeWidthToJaql: (jaql: JaqlRequest | undefined, jaqlIndex: number, width: number) => void;
112
+ getResizeWidthFromJaql: (jaql?: JaqlRequest | undefined) => {
113
+ [key: number]: number;
114
+ };
115
+ markSortedNode: (jaql: JaqlRequest | undefined, item: PivotTreeNode<any>) => void;
116
+ normalizeSingleBranchTreeSortDetails: (jaql: JaqlRequest) => void;
117
+ updateLastAppliedSortingFlag: (jaql: JaqlRequest, sortDetails: SortDetails) => void;
118
+ handleComplexSortingSettingsUpdate: typeof handleComplexSortingSettingsUpdate;
119
+ mapWidgetJaqlToSimpleSortingSettings: typeof mapWidgetJaqlToSimpleSortingSettings;
120
+ mapWidgetJaqlToComplexSortingSettings: typeof mapWidgetJaqlToComplexSortingSettings;
121
+ };
122
+ export default _default;