@servicetitan/titan-chatbot-api 4.4.1 → 4.4.3

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/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ # v4.4.2 (Fri Oct 24 2025)
2
+
3
+ #### 🐛 Bug Fix
4
+
5
+ - SPA-7397: Fixed filter selections contract [#69](https://github.com/servicetitan/titan-chatbot-client/pull/69) ([@AlexYarmolchuk](https://github.com/AlexYarmolchuk))
6
+
7
+ #### Authors: 1
8
+
9
+ - Alexandr Yarmolchuk ([@AlexYarmolchuk](https://github.com/AlexYarmolchuk))
10
+
11
+ ---
12
+
1
13
  # v4.4.1 (Thu Oct 23 2025)
2
14
 
3
15
  #### 🐛 Bug Fix
@@ -32,18 +32,21 @@ describe('[model-utils] createSelectionsModel', () => {
32
32
  });
33
33
  });
34
34
  describe('with flat filter structure (leaf filters only)', () => {
35
- test('should handle single leaf filter selection', () => {
35
+ test('top level, single filter, single value', () => {
36
36
  var _a;
37
37
  const flatModel = ModelsMocks.mockFrontendModelFlat();
38
38
  const flatFilters = (_a = flatModel.options.subOptions) !== null && _a !== void 0 ? _a : [];
39
39
  const selected = new Map([['ContentTypes', ['kbReleaseNotes']]]);
40
40
  const result = createSelectionsModel(flatFilters, selected);
41
- expect(result).toBeDefined();
42
- expect(result === null || result === void 0 ? void 0 : result.subOptions).toBeDefined();
43
- expect(result === null || result === void 0 ? void 0 : result.subOptions.ContentTypes).toBeDefined();
44
- expect(result === null || result === void 0 ? void 0 : result.subOptions.ContentTypes.values).toEqual(['kbReleaseNotes']);
41
+ expect(result).toEqual({
42
+ subOptions: {
43
+ ContentTypes: {
44
+ values: ['kbReleaseNotes'],
45
+ },
46
+ },
47
+ });
45
48
  });
46
- test('should handle multiple values in single leaf filter', () => {
49
+ test('top level, single filter, multiple values', () => {
47
50
  var _a;
48
51
  const flatModel = ModelsMocks.mockFrontendModelFlat();
49
52
  const flatFilters = (_a = flatModel.options.subOptions) !== null && _a !== void 0 ? _a : [];
@@ -51,14 +54,15 @@ describe('[model-utils] createSelectionsModel', () => {
51
54
  ['ContentTypes', ['kbReleaseNotes', 'kbFaq', 'kbHowTo']],
52
55
  ]);
53
56
  const result = createSelectionsModel(flatFilters, selected);
54
- expect(result).toBeDefined();
55
- expect(result === null || result === void 0 ? void 0 : result.subOptions.ContentTypes.values).toEqual([
56
- 'kbReleaseNotes',
57
- 'kbFaq',
58
- 'kbHowTo',
59
- ]);
57
+ expect(result).toEqual({
58
+ subOptions: {
59
+ ContentTypes: {
60
+ values: ['kbReleaseNotes', 'kbFaq', 'kbHowTo'],
61
+ },
62
+ },
63
+ });
60
64
  });
61
- test('should handle multiple different leaf filters', () => {
65
+ test('top level, multiple filter, multiple values', () => {
62
66
  var _a;
63
67
  const flatModel = ModelsMocks.mockFrontendModelFlat();
64
68
  const flatFilters = (_a = flatModel.options.subOptions) !== null && _a !== void 0 ? _a : [];
@@ -67,11 +71,18 @@ describe('[model-utils] createSelectionsModel', () => {
67
71
  ['ProductAreas', ['Marketing']],
68
72
  ]);
69
73
  const result = createSelectionsModel(flatFilters, selected);
70
- expect(result).toBeDefined();
71
- expect(result === null || result === void 0 ? void 0 : result.subOptions.ContentTypes.values).toEqual(['kbReleaseNotes', 'kbFaq']);
72
- expect(result === null || result === void 0 ? void 0 : result.subOptions.ProductAreas.values).toEqual(['Marketing']);
74
+ expect(result).toEqual({
75
+ subOptions: {
76
+ ContentTypes: {
77
+ values: ['kbReleaseNotes', 'kbFaq'],
78
+ },
79
+ ProductAreas: {
80
+ values: ['Marketing'],
81
+ },
82
+ },
83
+ });
73
84
  });
74
- test('should filter out non-matching selections', () => {
85
+ test('non-existing filter', () => {
75
86
  var _a;
76
87
  const flatModel = ModelsMocks.mockFrontendModelFlat();
77
88
  const flatFilters = (_a = flatModel.options.subOptions) !== null && _a !== void 0 ? _a : [];
@@ -79,11 +90,15 @@ describe('[model-utils] createSelectionsModel', () => {
79
90
  ['ContentTypes', ['kbReleaseNotes', 'nonExistentOption']],
80
91
  ]);
81
92
  const result = createSelectionsModel(flatFilters, selected);
82
- expect(result).toBeDefined();
83
- // Only kbReleaseNotes should be included, nonExistentOption should be filtered out
84
- expect(result === null || result === void 0 ? void 0 : result.subOptions.ContentTypes.values).toEqual(['kbReleaseNotes']);
93
+ expect(result).toEqual({
94
+ subOptions: {
95
+ ContentTypes: {
96
+ values: ['kbReleaseNotes'],
97
+ },
98
+ },
99
+ });
85
100
  });
86
- test('should return undefined when all selected options are invalid', () => {
101
+ test('no valid filters', () => {
87
102
  var _a;
88
103
  const flatModel = ModelsMocks.mockFrontendModelFlat();
89
104
  const flatFilters = (_a = flatModel.options.subOptions) !== null && _a !== void 0 ? _a : [];
@@ -95,47 +110,81 @@ describe('[model-utils] createSelectionsModel', () => {
95
110
  });
96
111
  });
97
112
  describe('with mixed filter structure', () => {
98
- test('should handle selections in mixed structure (1st level option without nested filters)', () => {
113
+ test('top level, single filter, single value', () => {
99
114
  var _a;
100
115
  const frontendModel = ModelsMocks.mockFrontendModelMixed();
101
116
  const filters = (_a = frontendModel.options.subOptions) !== null && _a !== void 0 ? _a : [];
102
117
  const selected = new Map([['Sources', ['Jarvis']]]);
103
118
  const result = createSelectionsModel(filters, selected);
104
- expect(result).toBeDefined();
105
- expect(result === null || result === void 0 ? void 0 : result.subOptions).toBeDefined();
106
- expect(result === null || result === void 0 ? void 0 : result.subOptions.Sources).toBeDefined();
107
- expect(result === null || result === void 0 ? void 0 : result.subOptions.Sources.values).toEqual(['Jarvis']);
119
+ expect(result).toEqual({
120
+ subOptions: {
121
+ Sources: {
122
+ values: ['Jarvis'],
123
+ },
124
+ },
125
+ });
108
126
  });
109
- test('should handle selections in mixed structure (1st level option with nested filters)', () => {
127
+ test('top level, multiple filters, single value', () => {
110
128
  var _a;
111
129
  const frontendModel = ModelsMocks.mockFrontendModelMixed();
112
130
  const filters = (_a = frontendModel.options.subOptions) !== null && _a !== void 0 ? _a : [];
113
131
  const selected = new Map([['Sources', ['KnowledgeBase', 'Jarvis']]]);
114
132
  const result = createSelectionsModel(filters, selected);
115
- expect(result).toBeDefined();
116
- expect(result === null || result === void 0 ? void 0 : result.subOptions).toBeDefined();
117
- expect(result === null || result === void 0 ? void 0 : result.subOptions.Sources).toBeDefined();
118
- expect(result === null || result === void 0 ? void 0 : result.subOptions.Sources.values).toEqual(['Jarvis']);
119
- expect(result === null || result === void 0 ? void 0 : result.subOptions.Sources.subOptions).toBeDefined();
120
- expect(result === null || result === void 0 ? void 0 : result.subOptions.Sources.subOptions.KnowledgeBase).toBeDefined();
121
- expect(result === null || result === void 0 ? void 0 : result.subOptions.Sources.subOptions.KnowledgeBase.subOptions).toEqual({});
133
+ expect(result).toEqual({
134
+ subOptions: {
135
+ Sources: {
136
+ values: ['KnowledgeBase', 'Jarvis'],
137
+ },
138
+ },
139
+ });
140
+ });
141
+ test('all levels, multiple filters, multiple values', () => {
142
+ var _a;
143
+ const frontendModel = ModelsMocks.mockFrontendModelMixed();
144
+ const filters = (_a = frontendModel.options.subOptions) !== null && _a !== void 0 ? _a : [];
145
+ const selected = new Map([
146
+ ['Sources', ['KnowledgeBase', 'Jarvis']],
147
+ ['ContentTypes', ['kbReleaseNotes']],
148
+ ['ProductAreas', ['Marketing']],
149
+ ]);
150
+ const result = createSelectionsModel(filters, selected);
151
+ expect(result).toEqual({
152
+ subOptions: {
153
+ Sources: {
154
+ values: ['KnowledgeBase', 'Jarvis'],
155
+ subOptions: {
156
+ KnowledgeBase: {
157
+ subOptions: {
158
+ ContentTypes: {
159
+ values: ['kbReleaseNotes'],
160
+ },
161
+ ProductAreas: {
162
+ values: ['Marketing'],
163
+ },
164
+ },
165
+ },
166
+ },
167
+ },
168
+ },
169
+ });
122
170
  });
123
171
  });
124
172
  describe('with nested filter structure', () => {
125
- test('should handle single source selection without sub-filters', () => {
173
+ test('top level, single filter, single value', () => {
126
174
  var _a;
127
175
  const frontendModel = ModelsMocks.mockFrontendModel();
128
176
  const filters = (_a = frontendModel.options.subOptions) !== null && _a !== void 0 ? _a : [];
129
177
  const selected = new Map([['Sources', ['KnowledgeBase']]]);
130
178
  const result = createSelectionsModel(filters, selected);
131
- expect(result).toBeDefined();
132
- expect(result === null || result === void 0 ? void 0 : result.subOptions).toBeDefined();
133
- expect(result === null || result === void 0 ? void 0 : result.subOptions.Sources).toBeDefined();
134
- expect(result === null || result === void 0 ? void 0 : result.subOptions.Sources.subOptions).toBeDefined();
135
- expect(result === null || result === void 0 ? void 0 : result.subOptions.Sources.subOptions.KnowledgeBase).toBeDefined();
136
- expect(result === null || result === void 0 ? void 0 : result.subOptions.Sources.subOptions.KnowledgeBase.subOptions).toEqual({});
179
+ expect(result).toEqual({
180
+ subOptions: {
181
+ Sources: {
182
+ values: ['KnowledgeBase'],
183
+ },
184
+ },
185
+ });
137
186
  });
138
- test('should handle source with content type selection', () => {
187
+ test('all levels, multiple filters, single value', () => {
139
188
  var _a;
140
189
  const frontendModel = ModelsMocks.mockFrontendModel();
141
190
  const filters = (_a = frontendModel.options.subOptions) !== null && _a !== void 0 ? _a : [];
@@ -144,13 +193,24 @@ describe('[model-utils] createSelectionsModel', () => {
144
193
  ['ContentTypes', ['kbReleaseNotes']],
145
194
  ]);
146
195
  const result = createSelectionsModel(filters, selected);
147
- expect(result).toBeDefined();
148
- const kbSubOptions = result === null || result === void 0 ? void 0 : result.subOptions.Sources.subOptions.KnowledgeBase.subOptions;
149
- expect(kbSubOptions).toBeDefined();
150
- expect(kbSubOptions.ContentTypes).toBeDefined();
151
- expect(kbSubOptions.ContentTypes.values).toEqual(['kbReleaseNotes']);
196
+ expect(result).toEqual({
197
+ subOptions: {
198
+ Sources: {
199
+ values: ['KnowledgeBase'],
200
+ subOptions: {
201
+ KnowledgeBase: {
202
+ subOptions: {
203
+ ContentTypes: {
204
+ values: ['kbReleaseNotes'],
205
+ },
206
+ },
207
+ },
208
+ },
209
+ },
210
+ },
211
+ });
152
212
  });
153
- test('should handle multiple sources with same content type selection', () => {
213
+ test('all levels, multiple filters, multiple values (with shared sub option)', () => {
154
214
  var _a;
155
215
  const frontendModel = ModelsMocks.mockFrontendModel();
156
216
  const filters = (_a = frontendModel.options.subOptions) !== null && _a !== void 0 ? _a : [];
@@ -159,15 +219,31 @@ describe('[model-utils] createSelectionsModel', () => {
159
219
  ['ContentTypes', ['kbReleaseNotes']],
160
220
  ]);
161
221
  const result = createSelectionsModel(filters, selected);
162
- expect(result).toBeDefined();
163
- expect(result === null || result === void 0 ? void 0 : result.subOptions.Sources.subOptions).toBeDefined();
164
- expect(result === null || result === void 0 ? void 0 : result.subOptions.Sources.subOptions.KnowledgeBase).toBeDefined();
165
- expect(result === null || result === void 0 ? void 0 : result.subOptions.Sources.subOptions.Jarvis).toBeDefined();
166
- // Both sources should have the ContentTypes selection (filtered by available options)
167
- expect(result === null || result === void 0 ? void 0 : result.subOptions.Sources.subOptions.KnowledgeBase.subOptions.ContentTypes.values).toEqual(['kbReleaseNotes']);
168
- expect(result === null || result === void 0 ? void 0 : result.subOptions.Sources.subOptions.Jarvis.subOptions.ContentTypes.values).toEqual(['kbReleaseNotes']);
222
+ expect(result).toEqual({
223
+ subOptions: {
224
+ Sources: {
225
+ values: ['KnowledgeBase', 'Jarvis'],
226
+ subOptions: {
227
+ KnowledgeBase: {
228
+ subOptions: {
229
+ ContentTypes: {
230
+ values: ['kbReleaseNotes'],
231
+ },
232
+ },
233
+ },
234
+ Jarvis: {
235
+ subOptions: {
236
+ ContentTypes: {
237
+ values: ['kbReleaseNotes'],
238
+ },
239
+ },
240
+ },
241
+ },
242
+ },
243
+ },
244
+ });
169
245
  });
170
- test('should filter content types based on each sources available options', () => {
246
+ test('all levels, multiple filters, multiple values (with mixed sub options)', () => {
171
247
  var _a;
172
248
  const frontendModel = ModelsMocks.mockFrontendModel();
173
249
  const filters = (_a = frontendModel.options.subOptions) !== null && _a !== void 0 ? _a : [];
@@ -176,15 +252,31 @@ describe('[model-utils] createSelectionsModel', () => {
176
252
  ['ContentTypes', ['kbReleaseNotes', 'kbFaq', 'xxx']],
177
253
  ]);
178
254
  const result = createSelectionsModel(filters, selected);
179
- expect(result).toBeDefined();
180
- // KnowledgeBase has [kbReleaseNotes, kbFaq, kbHowTo], so it should have [kbReleaseNotes, kbFaq]
181
- const kbContentTypes = result === null || result === void 0 ? void 0 : result.subOptions.Sources.subOptions.KnowledgeBase.subOptions.ContentTypes.values;
182
- expect(kbContentTypes).toEqual(['kbReleaseNotes', 'kbFaq']);
183
- // Jarvis has [kbReleaseNotes, xxx, yyy], so it should have [kbReleaseNotes, xxx]
184
- const jarvisContentTypes = result === null || result === void 0 ? void 0 : result.subOptions.Sources.subOptions.Jarvis.subOptions.ContentTypes.values;
185
- expect(jarvisContentTypes).toEqual(['kbReleaseNotes', 'xxx']);
255
+ expect(result).toEqual({
256
+ subOptions: {
257
+ Sources: {
258
+ values: ['KnowledgeBase', 'Jarvis'],
259
+ subOptions: {
260
+ KnowledgeBase: {
261
+ subOptions: {
262
+ ContentTypes: {
263
+ values: ['kbReleaseNotes', 'kbFaq'],
264
+ },
265
+ },
266
+ },
267
+ Jarvis: {
268
+ subOptions: {
269
+ ContentTypes: {
270
+ values: ['kbReleaseNotes', 'xxx'],
271
+ },
272
+ },
273
+ },
274
+ },
275
+ },
276
+ },
277
+ });
186
278
  });
187
- test('should handle product areas with nested structure', () => {
279
+ test('all levels, multiple filters, multiple values', () => {
188
280
  var _a;
189
281
  const frontendModel = ModelsMocks.mockFrontendModel();
190
282
  const filters = (_a = frontendModel.options.subOptions) !== null && _a !== void 0 ? _a : [];
@@ -193,12 +285,24 @@ describe('[model-utils] createSelectionsModel', () => {
193
285
  ['ProductAreas', ['Marketing', 'Marketing Pro']],
194
286
  ]);
195
287
  const result = createSelectionsModel(filters, selected);
196
- expect(result).toBeDefined();
197
- const kbSubOptions = result === null || result === void 0 ? void 0 : result.subOptions.Sources.subOptions.KnowledgeBase.subOptions;
198
- expect(kbSubOptions.ProductAreas).toBeDefined();
199
- expect(kbSubOptions.ProductAreas.values).toEqual(['Marketing', 'Marketing Pro']);
288
+ expect(result).toEqual({
289
+ subOptions: {
290
+ Sources: {
291
+ values: ['KnowledgeBase'],
292
+ subOptions: {
293
+ KnowledgeBase: {
294
+ subOptions: {
295
+ ProductAreas: {
296
+ values: ['Marketing', 'Marketing Pro'],
297
+ },
298
+ },
299
+ },
300
+ },
301
+ },
302
+ },
303
+ });
200
304
  });
201
- test('should handle both content types and product areas', () => {
305
+ test('all levels, multiple filters, multiple values (more values)', () => {
202
306
  var _a;
203
307
  const frontendModel = ModelsMocks.mockFrontendModel();
204
308
  const filters = (_a = frontendModel.options.subOptions) !== null && _a !== void 0 ? _a : [];
@@ -208,38 +312,28 @@ describe('[model-utils] createSelectionsModel', () => {
208
312
  ['ProductAreas', ['Marketing']],
209
313
  ]);
210
314
  const result = createSelectionsModel(filters, selected);
211
- expect(result).toBeDefined();
212
- const kbSubOptions = result === null || result === void 0 ? void 0 : result.subOptions.Sources.subOptions.KnowledgeBase.subOptions;
213
- expect(kbSubOptions.ContentTypes.values).toEqual(['kbReleaseNotes', 'kbHowTo']);
214
- expect(kbSubOptions.ProductAreas.values).toEqual(['Marketing']);
215
- });
216
- test('should handle complex scenario with multiple sources and filters', () => {
217
- var _a;
218
- const frontendModel = ModelsMocks.mockFrontendModel();
219
- const filters = (_a = frontendModel.options.subOptions) !== null && _a !== void 0 ? _a : [];
220
- const selected = new Map([
221
- ['Sources', ['KnowledgeBase', 'Jarvis']],
222
- ['ContentTypes', ['kbReleaseNotes', 'yyy', 'kbHowTo']],
223
- ['ProductAreas', ['Marketing', 'Marketing Pro']],
224
- ]);
225
- const result = createSelectionsModel(filters, selected);
226
- expect(result).toBeDefined();
227
- expect(result === null || result === void 0 ? void 0 : result.subOptions.Sources.subOptions).toBeDefined();
228
- // Verify KnowledgeBase selections
229
- const kbSubOptions = result === null || result === void 0 ? void 0 : result.subOptions.Sources.subOptions.KnowledgeBase.subOptions;
230
- // KB has kbReleaseNotes, kbFaq, kbHowTo - matches kbReleaseNotes and kbHowTo
231
- expect(kbSubOptions.ContentTypes.values).toEqual(['kbReleaseNotes', 'kbHowTo']);
232
- expect(kbSubOptions.ProductAreas.values).toEqual(['Marketing', 'Marketing Pro']);
233
- // Verify Jarvis selections
234
- const jarvisSubOptions = result === null || result === void 0 ? void 0 : result.subOptions.Sources.subOptions.Jarvis.subOptions;
235
- // Jarvis has kbReleaseNotes, xxx, yyy - matches kbReleaseNotes and yyy
236
- expect(jarvisSubOptions.ContentTypes.values).toEqual(['kbReleaseNotes', 'yyy']);
237
- // Jarvis doesn't have ProductAreas, so it shouldn't be present
238
- expect(jarvisSubOptions.ProductAreas).toBeUndefined();
315
+ expect(result).toEqual({
316
+ subOptions: {
317
+ Sources: {
318
+ values: ['KnowledgeBase'],
319
+ subOptions: {
320
+ KnowledgeBase: {
321
+ subOptions: {
322
+ ContentTypes: {
323
+ values: ['kbReleaseNotes', 'kbHowTo'],
324
+ },
325
+ ProductAreas: {
326
+ values: ['Marketing'],
327
+ },
328
+ },
329
+ },
330
+ },
331
+ },
332
+ },
333
+ });
239
334
  });
240
- test('should match the FilterStore export test case', () => {
335
+ test('all levels, multiple filters, multiple values (more values2)', () => {
241
336
  var _a;
242
- // This test matches the scenario from filter.store.test.ts line 266
243
337
  const frontendModel = ModelsMocks.mockFrontendModel();
244
338
  const filters = (_a = frontendModel.options.subOptions) !== null && _a !== void 0 ? _a : [];
245
339
  const selected = new Map([
@@ -248,10 +342,10 @@ describe('[model-utils] createSelectionsModel', () => {
248
342
  ['ProductAreas', ['Marketing', 'Marketing Pro']],
249
343
  ]);
250
344
  const result = createSelectionsModel(filters, selected);
251
- // Should match the expected output from filter.store.test.ts
252
345
  expect(result).toEqual({
253
346
  subOptions: {
254
347
  Sources: {
348
+ values: ['KnowledgeBase', 'Jarvis'],
255
349
  subOptions: {
256
350
  KnowledgeBase: {
257
351
  subOptions: {
@@ -319,7 +413,7 @@ describe('[model-utils] createSelectionsModel', () => {
319
413
  ]);
320
414
  const result = createSelectionsModel(filters, selected);
321
415
  expect(result).toBeInstanceOf(Models.Selections);
322
- expect(result === null || result === void 0 ? void 0 : result.subOptions).toBeDefined();
416
+ expect(result.subOptions).toBeDefined();
323
417
  expect(typeof (result === null || result === void 0 ? void 0 : result.subOptions)).toBe('object');
324
418
  });
325
419
  });
@@ -1 +1 @@
1
- {"version":3,"file":"model-utils.test.js","sourceRoot":"","sources":["../../../../src/api-client/utils/__tests__/model-utils.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-utils.test.js","sourceRoot":"","sources":["../../../../src/api-client/utils/__tests__/model-utils.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"model-utils.d.ts","sourceRoot":"","sources":["../../../src/api-client/utils/model-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAE5B,wBAAgB,qBAAqB,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAE5E;AAED,wBAAgB,qBAAqB,CACjC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EACzB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAChC,MAAM,CAAC,UAAU,GAAG,SAAS,CA8D/B"}
1
+ {"version":3,"file":"model-utils.d.ts","sourceRoot":"","sources":["../../../src/api-client/utils/model-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAE5B,wBAAgB,qBAAqB,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAE5E;AAED,wBAAgB,qBAAqB,CACjC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EACzB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAChC,MAAM,CAAC,UAAU,GAAG,SAAS,CA6E/B"}
@@ -11,24 +11,27 @@ export function createSelectionsModel(filters, selected) {
11
11
  subOptions: {},
12
12
  });
13
13
  }
14
+ return result.subOptions;
14
15
  };
15
16
  const filterList = filters.filter(x => { var _a; return x.type === Models.OptionType.Group && Boolean((_a = x.subOptions) === null || _a === void 0 ? void 0 : _a.length); });
16
17
  for (const filter of filterList) {
17
18
  const selectedLeafOptions = filter.subOptions.filter(x => {
18
- var _a, _b;
19
+ var _a;
19
20
  return x.type === Models.OptionType.Selectable &&
20
- ((_a = selected.get(filter.key)) === null || _a === void 0 ? void 0 : _a.includes(x.key)) &&
21
- !((_b = x.subOptions) === null || _b === void 0 ? void 0 : _b.length);
21
+ ((_a = selected.get(filter.key)) === null || _a === void 0 ? void 0 : _a.includes(x.key));
22
22
  });
23
23
  let values;
24
24
  if (selectedLeafOptions.length) {
25
25
  // Leaf filter: just collect selected values
26
26
  values = selectedLeafOptions === null || selectedLeafOptions === void 0 ? void 0 : selectedLeafOptions.map(o => o.key).filter(o => { var _a; return (_a = selected.get(filter.key)) === null || _a === void 0 ? void 0 : _a.includes(o); });
27
27
  if (values === null || values === void 0 ? void 0 : values.length) {
28
- ensureResult();
29
- result.subOptions[filter.key] = new Models.Selections({ values });
28
+ const subOptions = ensureResult();
29
+ subOptions[filter.key] = new Models.Selections({ values });
30
30
  }
31
31
  }
32
+ if (!selectedLeafOptions.length) {
33
+ continue;
34
+ }
32
35
  // Non-leaf filter: add selected options as selectables and process sub-filters
33
36
  const selectedNonLeafOptions = filter.subOptions.filter(x => {
34
37
  var _a, _b;
@@ -39,20 +42,30 @@ export function createSelectionsModel(filters, selected) {
39
42
  if (!selectedNonLeafOptions.length) {
40
43
  continue;
41
44
  }
42
- ensureResult();
43
- const filterResult = new Models.Selections({
44
- values,
45
- subOptions: {},
46
- });
47
- result.subOptions[filter.key] = filterResult;
48
- for (const noneLeafOption of selectedNonLeafOptions) {
49
- // Process sub-filters: if any sub-filters selected, add them to the result
50
- const subFilters = noneLeafOption.subOptions;
45
+ // We have some sub-filters to process: collect their results
46
+ const subFilterResults = new Map();
47
+ for (const nonLeafOption of selectedNonLeafOptions) {
48
+ const subFilters = nonLeafOption.subOptions;
51
49
  const resultSubFilters = process(subFilters);
52
- filterResult.subOptions[noneLeafOption.key] =
53
- resultSubFilters !== null && resultSubFilters !== void 0 ? resultSubFilters : new Models.Selections({
54
- subOptions: {},
55
- });
50
+ if (!resultSubFilters) {
51
+ continue;
52
+ }
53
+ subFilterResults.set(nonLeafOption.key, resultSubFilters);
54
+ }
55
+ // If any sub-filters selected, ensure result and add them to the current subOptions
56
+ if (subFilterResults.size) {
57
+ const subOptions = ensureResult();
58
+ for (const [key, value] of subFilterResults) {
59
+ let subFilterSelection = subOptions[filter.key];
60
+ if (!subFilterSelection) {
61
+ subFilterSelection = new Models.Selections({});
62
+ subOptions[filter.key] = subFilterSelection;
63
+ }
64
+ if (!subFilterSelection.subOptions) {
65
+ subFilterSelection.subOptions = {};
66
+ }
67
+ subFilterSelection.subOptions[key] = value;
68
+ }
56
69
  }
57
70
  }
58
71
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"model-utils.js","sourceRoot":"","sources":["../../../src/api-client/utils/model-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-utils.js","sourceRoot":"","sources":["../../../src/api-client/utils/model-utils.ts"],"names":[],"mappings":"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"}