@datarailsshared/dr_renderer 1.5.159 → 1.5.168

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/.idea/jsLibraryMappings.xml +6 -0
  2. package/.idea/misc.xml +9 -0
  3. package/.nvmrc +1 -0
  4. package/jest.config.js +1 -1
  5. package/package.json +9 -11
  6. package/scripts/check-versions.js +16 -0
  7. package/src/highcharts_renderer.d.ts +2 -2
  8. package/tsconfig.json +1 -1
  9. package/.circleci/config.yml +0 -85
  10. package/.github/workflows/ai-coder-jira.yml +0 -915
  11. package/.github/workflows/ai-coder-n8n-caller.yml +0 -82
  12. package/.github/workflows/release.yml +0 -49
  13. package/tests/__snapshots__/suboptions.test.js.snap +0 -5028
  14. package/tests/dr-renderer-helpers.test.js +0 -228
  15. package/tests/dr_chart_tooltip.test.js +0 -789
  16. package/tests/dr_gauge_chart.test.js +0 -2041
  17. package/tests/errors.test.js +0 -157
  18. package/tests/highcharts_renderer.test.js +0 -9407
  19. package/tests/mock/add-in-dynamic-ranges.json +0 -127
  20. package/tests/mock/add-in-functions.json +0 -410
  21. package/tests/mock/add-in-tables.json +0 -347
  22. package/tests/mock/tables.json +0 -2258
  23. package/tests/mock/widgets.json +0 -401
  24. package/tests/options-builder.test.js +0 -1698
  25. package/tests/pivot-table/freeze-panes/constants.test.js +0 -92
  26. package/tests/pivot-table/freeze-panes/index.test.js +0 -193
  27. package/tests/pivot-table/freeze-panes/sticky-strategy.test.js +0 -542
  28. package/tests/pivot-table/freeze-panes/transform-strategy.test.js +0 -304
  29. package/tests/ptCreateDrillDownSeriesToDrilldownChart.test.js +0 -509
  30. package/tests/seriesPointStyles-helper.test.js +0 -114
  31. package/tests/suboptions.test.js +0 -322
  32. package/tests/value.formatter.test.js +0 -143
@@ -1,92 +0,0 @@
1
- const {
2
- FREEZE_PANES_MODES,
3
- TRANSFORM_CSS_CLASSES,
4
- STICKY_CSS_CLASSES,
5
- FREEZE_PANES_THRESHOLD,
6
- FREEZE_PANES_THRESHOLD_CHECK_DEBOUNCE_MS,
7
- } = require('../../../src/pivot-table/freeze-panes/constants');
8
-
9
- describe('freeze-panes/constants', () => {
10
- describe('FREEZE_PANES_MODES', () => {
11
- it('should have TRANSFORM mode with value "transform"', () => {
12
- expect(FREEZE_PANES_MODES.TRANSFORM).toBe('transform');
13
- });
14
-
15
- it('should have STICKY mode with value "sticky"', () => {
16
- expect(FREEZE_PANES_MODES.STICKY).toBe('sticky');
17
- });
18
-
19
- it('should only have two modes', () => {
20
- expect(Object.keys(FREEZE_PANES_MODES)).toHaveLength(2);
21
- });
22
- });
23
-
24
- describe('TRANSFORM_CSS_CLASSES', () => {
25
- it('should have AXIS class', () => {
26
- expect(TRANSFORM_CSS_CLASSES.AXIS).toBe('axis-freeze-pane');
27
- });
28
-
29
- it('should have VERTICAL class', () => {
30
- expect(TRANSFORM_CSS_CLASSES.VERTICAL).toBe('vertical-freeze-pane');
31
- });
32
-
33
- it('should have HORIZONTAL class', () => {
34
- expect(TRANSFORM_CSS_CLASSES.HORIZONTAL).toBe('horizontal-freeze-pane');
35
- });
36
-
37
- it('should have exactly three classes', () => {
38
- expect(Object.keys(TRANSFORM_CSS_CLASSES)).toHaveLength(3);
39
- });
40
- });
41
-
42
- describe('STICKY_CSS_CLASSES', () => {
43
- it('should have CONTAINER class', () => {
44
- expect(STICKY_CSS_CLASSES.CONTAINER).toBe('sticky-freeze-panes-container');
45
- });
46
-
47
- it('should have AXIS class', () => {
48
- expect(STICKY_CSS_CLASSES.AXIS).toBe('sticky-axis-freeze-pane');
49
- });
50
-
51
- it('should have VERTICAL class', () => {
52
- expect(STICKY_CSS_CLASSES.VERTICAL).toBe('sticky-vertical-freeze-pane');
53
- });
54
-
55
- it('should have HORIZONTAL class', () => {
56
- expect(STICKY_CSS_CLASSES.HORIZONTAL).toBe('sticky-horizontal-freeze-pane');
57
- });
58
-
59
- it('should have ROWS_DISABLED class', () => {
60
- expect(STICKY_CSS_CLASSES.ROWS_DISABLED).toBe('freeze-panes-rows-disabled');
61
- });
62
-
63
- it('should have COLUMNS_DISABLED class', () => {
64
- expect(STICKY_CSS_CLASSES.COLUMNS_DISABLED).toBe('freeze-panes-columns-disabled');
65
- });
66
-
67
- it('should have exactly six classes', () => {
68
- expect(Object.keys(STICKY_CSS_CLASSES)).toHaveLength(6);
69
- });
70
- });
71
-
72
- describe('FREEZE_PANES_THRESHOLD', () => {
73
- it('should be 0.7 (70%)', () => {
74
- expect(FREEZE_PANES_THRESHOLD).toBe(0.7);
75
- });
76
-
77
- it('should be a number between 0 and 1', () => {
78
- expect(FREEZE_PANES_THRESHOLD).toBeGreaterThan(0);
79
- expect(FREEZE_PANES_THRESHOLD).toBeLessThanOrEqual(1);
80
- });
81
- });
82
-
83
- describe('FREEZE_PANES_THRESHOLD_CHECK_DEBOUNCE_MS', () => {
84
- it('should be 150 milliseconds', () => {
85
- expect(FREEZE_PANES_THRESHOLD_CHECK_DEBOUNCE_MS).toBe(150);
86
- });
87
-
88
- it('should be a positive number', () => {
89
- expect(FREEZE_PANES_THRESHOLD_CHECK_DEBOUNCE_MS).toBeGreaterThan(0);
90
- });
91
- });
92
- });
@@ -1,193 +0,0 @@
1
- const freezePanes = require('../../../src/pivot-table/freeze-panes/index');
2
- const { FREEZE_PANES_MODES, STICKY_CSS_CLASSES, TRANSFORM_CSS_CLASSES } = require('../../../src/pivot-table/freeze-panes/constants');
3
-
4
- describe('freeze-panes/index', () => {
5
- beforeEach(() => {
6
- // Reset mode to default before each test
7
- freezePanes.setMode(FREEZE_PANES_MODES.STICKY);
8
- });
9
-
10
- describe('setMode / getMode', () => {
11
- it('should return sticky as default mode', () => {
12
- expect(freezePanes.getMode()).toBe(FREEZE_PANES_MODES.STICKY);
13
- });
14
-
15
- it('should set mode to transform', () => {
16
- freezePanes.setMode(FREEZE_PANES_MODES.TRANSFORM);
17
- expect(freezePanes.getMode()).toBe(FREEZE_PANES_MODES.TRANSFORM);
18
- });
19
-
20
- it('should set mode to sticky', () => {
21
- freezePanes.setMode(FREEZE_PANES_MODES.TRANSFORM);
22
- freezePanes.setMode(FREEZE_PANES_MODES.STICKY);
23
- expect(freezePanes.getMode()).toBe(FREEZE_PANES_MODES.STICKY);
24
- });
25
-
26
- it('should not change mode for invalid value', () => {
27
- freezePanes.setMode('invalid');
28
- expect(freezePanes.getMode()).toBe(FREEZE_PANES_MODES.STICKY);
29
- });
30
-
31
- it('should not change mode for null', () => {
32
- freezePanes.setMode(null);
33
- expect(freezePanes.getMode()).toBe(FREEZE_PANES_MODES.STICKY);
34
- });
35
-
36
- it('should not change mode for undefined', () => {
37
- freezePanes.setMode(undefined);
38
- expect(freezePanes.getMode()).toBe(FREEZE_PANES_MODES.STICKY);
39
- });
40
- });
41
-
42
- describe('parseOptions', () => {
43
- it('should parse enabled option when freeze_panes is true', () => {
44
- const result = freezePanes.parseOptions({ freeze_panes: true });
45
- expect(result.enabled).toBe(true);
46
- expect(result.mode).toBe(FREEZE_PANES_MODES.STICKY);
47
- });
48
-
49
- it('should parse disabled option when freeze_panes is false', () => {
50
- const result = freezePanes.parseOptions({ freeze_panes: false });
51
- expect(result.enabled).toBe(false);
52
- });
53
-
54
- it('should parse disabled option when freeze_panes is undefined', () => {
55
- const result = freezePanes.parseOptions({});
56
- expect(result.enabled).toBe(false);
57
- });
58
-
59
- it('should parse disabled option when freeze_panes is null', () => {
60
- const result = freezePanes.parseOptions({ freeze_panes: null });
61
- expect(result.enabled).toBe(false);
62
- });
63
-
64
- it('should use global mode configuration', () => {
65
- freezePanes.setMode(FREEZE_PANES_MODES.TRANSFORM);
66
- const result = freezePanes.parseOptions({ freeze_panes: true });
67
- expect(result.mode).toBe(FREEZE_PANES_MODES.TRANSFORM);
68
- });
69
-
70
- it('should handle truthy values for freeze_panes', () => {
71
- const result = freezePanes.parseOptions({ freeze_panes: 1 });
72
- expect(result.enabled).toBe(true);
73
- });
74
-
75
- it('should handle falsy values for freeze_panes', () => {
76
- const result = freezePanes.parseOptions({ freeze_panes: 0 });
77
- expect(result.enabled).toBe(false);
78
- });
79
- });
80
-
81
- describe('getClassStrings', () => {
82
- describe('sticky mode', () => {
83
- it('should return sticky class strings when enabled', () => {
84
- const options = { enabled: true, mode: FREEZE_PANES_MODES.STICKY };
85
- const result = freezePanes.getClassStrings(options);
86
-
87
- expect(result.horizontal).toBe(' ' + STICKY_CSS_CLASSES.HORIZONTAL);
88
- expect(result.vertical).toBe(' ' + STICKY_CSS_CLASSES.VERTICAL);
89
- expect(result.axis).toBe(' ' + STICKY_CSS_CLASSES.AXIS);
90
- });
91
-
92
- it('should return empty strings when disabled', () => {
93
- const options = { enabled: false, mode: FREEZE_PANES_MODES.STICKY };
94
- const result = freezePanes.getClassStrings(options);
95
-
96
- expect(result.horizontal).toBe('');
97
- expect(result.vertical).toBe('');
98
- expect(result.axis).toBe('');
99
- });
100
- });
101
-
102
- describe('transform mode', () => {
103
- it('should return transform class strings when enabled', () => {
104
- const options = { enabled: true, mode: FREEZE_PANES_MODES.TRANSFORM };
105
- const result = freezePanes.getClassStrings(options);
106
-
107
- expect(result.horizontal).toBe(' ' + TRANSFORM_CSS_CLASSES.HORIZONTAL);
108
- expect(result.vertical).toBe(' ' + TRANSFORM_CSS_CLASSES.VERTICAL);
109
- expect(result.axis).toBe(' ' + TRANSFORM_CSS_CLASSES.AXIS);
110
- });
111
-
112
- it('should return empty strings when disabled', () => {
113
- const options = { enabled: false, mode: FREEZE_PANES_MODES.TRANSFORM };
114
- const result = freezePanes.getClassStrings(options);
115
-
116
- expect(result.horizontal).toBe('');
117
- expect(result.vertical).toBe('');
118
- expect(result.axis).toBe('');
119
- });
120
- });
121
- });
122
-
123
- describe('initialize', () => {
124
- let container;
125
-
126
- beforeEach(() => {
127
- container = document.createElement('div');
128
- document.body.appendChild(container);
129
- });
130
-
131
- afterEach(() => {
132
- document.body.removeChild(container);
133
- });
134
-
135
- it('should return undefined when not enabled', () => {
136
- const options = { enabled: false, mode: FREEZE_PANES_MODES.STICKY };
137
- const result = freezePanes.initialize(container, options, { rowAttrsLength: 2 });
138
- expect(result).toBeUndefined();
139
- });
140
-
141
- it('should return destroy function for sticky mode when enabled', () => {
142
- const table = document.createElement('table');
143
- table.className = 'pvtTable';
144
- table.innerHTML = '<thead><tr><th>Header</th></tr></thead><tbody><tr><td>Cell</td></tr></tbody>';
145
- container.appendChild(table);
146
-
147
- // Mock ResizeObserver
148
- const mockDisconnect = jest.fn();
149
- global.ResizeObserver = jest.fn().mockImplementation(() => ({
150
- observe: jest.fn(),
151
- disconnect: mockDisconnect,
152
- }));
153
-
154
- const options = { enabled: true, mode: FREEZE_PANES_MODES.STICKY };
155
- const result = freezePanes.initialize(container, options, { rowAttrsLength: 1 });
156
-
157
- expect(result).toBeDefined();
158
- expect(result.destroy).toBeInstanceOf(Function);
159
-
160
- result.destroy();
161
- expect(mockDisconnect).toHaveBeenCalled();
162
- });
163
-
164
- it('should return object with destroy function for transform mode when enabled', () => {
165
- const table = document.createElement('table');
166
- table.className = 'pvtTable';
167
- container.appendChild(table);
168
-
169
- const options = { enabled: true, mode: FREEZE_PANES_MODES.TRANSFORM };
170
- const result = freezePanes.initialize(container, options, { rowAttrsLength: 1 });
171
-
172
- expect(result).toBeDefined();
173
- expect(result).toHaveProperty('destroy');
174
- expect(typeof result.destroy).toBe('function');
175
- });
176
-
177
- it('should apply container class for sticky mode', () => {
178
- const table = document.createElement('table');
179
- table.className = 'pvtTable';
180
- container.appendChild(table);
181
-
182
- global.ResizeObserver = jest.fn().mockImplementation(() => ({
183
- observe: jest.fn(),
184
- disconnect: jest.fn(),
185
- }));
186
-
187
- const options = { enabled: true, mode: FREEZE_PANES_MODES.STICKY };
188
- freezePanes.initialize(container, options, { rowAttrsLength: 1 });
189
-
190
- expect(container.classList.contains(STICKY_CSS_CLASSES.CONTAINER)).toBe(true);
191
- });
192
- });
193
- });