@searchspring/snap-controller 0.43.0 → 0.44.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 (29) hide show
  1. package/dist/cjs/Abstract/AbstractController.d.ts +3 -1
  2. package/dist/cjs/Abstract/AbstractController.d.ts.map +1 -1
  3. package/dist/cjs/Abstract/AbstractController.js +12 -4
  4. package/dist/cjs/Autocomplete/AutocompleteController.d.ts.map +1 -1
  5. package/dist/cjs/Autocomplete/AutocompleteController.js +67 -44
  6. package/dist/cjs/Finder/FinderController.d.ts.map +1 -1
  7. package/dist/cjs/Finder/FinderController.js +36 -21
  8. package/dist/cjs/Recommendation/RecommendationController.d.ts.map +1 -1
  9. package/dist/cjs/Recommendation/RecommendationController.js +36 -21
  10. package/dist/cjs/Search/SearchController.d.ts +1 -0
  11. package/dist/cjs/Search/SearchController.d.ts.map +1 -1
  12. package/dist/cjs/Search/SearchController.js +81 -39
  13. package/dist/cjs/types.d.ts +3 -3
  14. package/dist/cjs/types.d.ts.map +1 -1
  15. package/dist/esm/Abstract/AbstractController.d.ts +3 -1
  16. package/dist/esm/Abstract/AbstractController.d.ts.map +1 -1
  17. package/dist/esm/Abstract/AbstractController.js +12 -4
  18. package/dist/esm/Autocomplete/AutocompleteController.d.ts.map +1 -1
  19. package/dist/esm/Autocomplete/AutocompleteController.js +67 -44
  20. package/dist/esm/Finder/FinderController.d.ts.map +1 -1
  21. package/dist/esm/Finder/FinderController.js +36 -21
  22. package/dist/esm/Recommendation/RecommendationController.d.ts.map +1 -1
  23. package/dist/esm/Recommendation/RecommendationController.js +36 -21
  24. package/dist/esm/Search/SearchController.d.ts +1 -0
  25. package/dist/esm/Search/SearchController.d.ts.map +1 -1
  26. package/dist/esm/Search/SearchController.js +79 -38
  27. package/dist/esm/types.d.ts +3 -3
  28. package/dist/esm/types.d.ts.map +1 -1
  29. package/package.json +11 -10
@@ -284,29 +284,44 @@ export class RecommendationController extends AbstractController {
284
284
  }
285
285
  catch (err) {
286
286
  if (err) {
287
- switch (err) {
288
- case 429:
289
- this.store.error = {
290
- code: 429,
291
- type: ErrorType.WARNING,
292
- message: 'Too many requests try again later',
293
- };
294
- this.log.warn(this.store.error);
295
- break;
296
- case 500:
297
- this.store.error = {
298
- code: 500,
299
- type: ErrorType.ERROR,
300
- message: 'Invalid Search Request or Service Unavailable',
301
- };
302
- this.log.error(this.store.error);
303
- break;
304
- default:
305
- this.log.error(err);
306
- break;
287
+ if (err.err && err.fetchDetails) {
288
+ switch (err.fetchDetails.status) {
289
+ case 429: {
290
+ this.store.error = {
291
+ code: 429,
292
+ type: ErrorType.WARNING,
293
+ message: 'Too many requests try again later',
294
+ };
295
+ break;
296
+ }
297
+ case 500: {
298
+ this.store.error = {
299
+ code: 500,
300
+ type: ErrorType.ERROR,
301
+ message: 'Invalid Search Request or Service Unavailable',
302
+ };
303
+ break;
304
+ }
305
+ default: {
306
+ this.store.error = {
307
+ type: ErrorType.ERROR,
308
+ message: err.err.message,
309
+ };
310
+ break;
311
+ }
312
+ }
313
+ this.log.error(this.store.error);
314
+ this.handleError(err.err, err.fetchDetails);
315
+ }
316
+ else {
317
+ this.store.error = {
318
+ type: ErrorType.ERROR,
319
+ message: `Something went wrong... - ${err}`,
320
+ };
321
+ this.log.error(err);
322
+ this.handleError(err);
307
323
  }
308
324
  this.store.loading = false;
309
- this.handleError(err);
310
325
  }
311
326
  }
312
327
  };
@@ -22,5 +22,6 @@ export declare class SearchController extends AbstractController {
22
22
  search: () => Promise<void>;
23
23
  }
24
24
  export declare function getStorableRequestParams(request: SearchRequestModel): SearchRequestModel;
25
+ export declare function generateHrefSelector(element: HTMLElement, href: string, levels?: number): string | undefined;
25
26
  export {};
26
27
  //# sourceMappingURL=SearchController.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchController.d.ts","sourceRoot":"","sources":["../../../src/Search/SearchController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,YAAY,EAA0B,MAAM,+BAA+B,CAAC;AAErF,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EACX,sBAAsB,EAItB,kBAAkB,EAClB,gBAAgB,EAGhB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,kBAAkB,EAA2E,MAAM,2BAA2B,CAAC;AAqB7I,aAAK,kBAAkB,GAAG;IACzB,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,WAAW,GAAG,SAAS,CAAC;KAC/D,CAAC;CACF,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,kBAAkB;IAChD,IAAI,kBAA0B;IAC7B,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,sBAAsB,CAAC;IACvC,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,eAAe,CAAwC;gBAG9D,MAAM,EAAE,sBAAsB,EAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IAqI3B,KAAK,EAAE,kBAAkB,CAoCvB;IAEF,IAAI,MAAM,IAAI,kBAAkB,CAgD/B;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CAuN9B;CACF;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,GAAG,kBAAkB,CAiBxF"}
1
+ {"version":3,"file":"SearchController.d.ts","sourceRoot":"","sources":["../../../src/Search/SearchController.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,YAAY,EAA0B,MAAM,+BAA+B,CAAC;AAErF,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EACX,sBAAsB,EAItB,kBAAkB,EAClB,gBAAgB,EAGhB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,kBAAkB,EAA2E,MAAM,2BAA2B,CAAC;AAqB7I,aAAK,kBAAkB,GAAG;IACzB,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,WAAW,GAAG,SAAS,CAAC;KAC/D,CAAC;CACF,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,kBAAkB;IAChD,IAAI,kBAA0B;IAC7B,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,sBAAsB,CAAC;IACvC,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,eAAe,CAAwC;gBAG9D,MAAM,EAAE,sBAAsB,EAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IA2I3B,KAAK,EAAE,kBAAkB,CA8CvB;IAEF,IAAI,MAAM,IAAI,kBAAkB,CAgD/B;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CAwO9B;CACF;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,GAAG,kBAAkB,CAiBxF;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,MAAM,GAAG,SAAS,CAgCvG"}
@@ -1,4 +1,5 @@
1
1
  import deepmerge from 'deepmerge';
2
+ import cssEscape from 'css.escape';
2
3
  import { AbstractController } from '../Abstract/AbstractController';
3
4
  import { StorageStore, StorageType, ErrorType } from '@searchspring/snap-store-mobx';
4
5
  import { getSearchParams } from '../utils/getParams';
@@ -29,17 +30,26 @@ export class SearchController extends AbstractController {
29
30
  product: {
30
31
  click: (e, result) => {
31
32
  const target = e.target;
32
- const href = target?.getAttribute('href') || result.mappings.core?.url;
33
+ const resultHref = result.mappings.core?.url;
34
+ const elemHref = target?.getAttribute('href');
35
+ // the href that should be used for restoration - if the elemHref contains the resultHref - use resultHref
36
+ const storedHref = elemHref?.indexOf(resultHref) != -1 ? resultHref : elemHref || resultHref;
33
37
  const scrollMap = {};
34
38
  // generate the selector using element class and parent classes
35
- const selector = generateHrefSelector(target, href);
39
+ const selector = generateHrefSelector(target, storedHref);
36
40
  const domRect = selector ? document?.querySelector(selector)?.getBoundingClientRect() : undefined;
37
41
  // store element position data to scrollMap
38
- if (selector && href && domRect) {
39
- const stringyParams = JSON.parse(this.storage.get('lastStringyParams'));
40
- const storableRequestParams = getStorableRequestParams(stringyParams);
41
- const storableStringyParams = JSON.stringify(storableRequestParams);
42
- scrollMap[storableStringyParams] = { domRect, href, selector };
42
+ if (selector || storedHref || domRect) {
43
+ try {
44
+ const stringyParams = JSON.parse(this.storage.get('lastStringyParams'));
45
+ const storableRequestParams = getStorableRequestParams(stringyParams);
46
+ const storableStringyParams = JSON.stringify(storableRequestParams);
47
+ scrollMap[storableStringyParams] = { domRect, href: storedHref, selector };
48
+ }
49
+ catch (err) {
50
+ // failed to get lastStringParams
51
+ this.log.warn('Failed to save scollMap!', err);
52
+ }
43
53
  }
44
54
  // store position data or empty object
45
55
  this.storage.set('scrollMap', scrollMap);
@@ -48,7 +58,7 @@ export class SearchController extends AbstractController {
48
58
  const event = this.tracker.track.product.click({
49
59
  intellisuggestData,
50
60
  intellisuggestSignature,
51
- href,
61
+ href: elemHref || resultHref,
52
62
  });
53
63
  this.eventManager.fire('track.product.click', { controller: this, event: e, result, trackEvent: event });
54
64
  return event;
@@ -224,29 +234,44 @@ export class SearchController extends AbstractController {
224
234
  }
225
235
  catch (err) {
226
236
  if (err) {
227
- switch (err) {
228
- case 429:
229
- this.store.error = {
230
- code: 429,
231
- type: ErrorType.WARNING,
232
- message: 'Too many requests try again later',
233
- };
234
- this.log.warn(this.store.error);
235
- break;
236
- case 500:
237
- this.store.error = {
238
- code: 500,
239
- type: ErrorType.ERROR,
240
- message: 'Invalid Search Request or Service Unavailable',
241
- };
242
- this.log.error(this.store.error);
243
- break;
244
- default:
245
- this.log.error(err);
246
- break;
237
+ if (err.err && err.fetchDetails) {
238
+ switch (err.fetchDetails.status) {
239
+ case 429: {
240
+ this.store.error = {
241
+ code: 429,
242
+ type: ErrorType.WARNING,
243
+ message: 'Too many requests try again later',
244
+ };
245
+ break;
246
+ }
247
+ case 500: {
248
+ this.store.error = {
249
+ code: 500,
250
+ type: ErrorType.ERROR,
251
+ message: 'Invalid Search Request or Service Unavailable',
252
+ };
253
+ break;
254
+ }
255
+ default: {
256
+ this.store.error = {
257
+ type: ErrorType.ERROR,
258
+ message: err.err.message,
259
+ };
260
+ break;
261
+ }
262
+ }
263
+ this.log.error(this.store.error);
264
+ this.handleError(err.err, err.fetchDetails);
265
+ }
266
+ else {
267
+ this.store.error = {
268
+ type: ErrorType.ERROR,
269
+ message: `Something went wrong... - ${err}`,
270
+ };
271
+ this.log.error(err);
272
+ this.handleError(err);
247
273
  }
248
274
  this.store.loading = false;
249
- this.handleError(err);
250
275
  }
251
276
  }
252
277
  };
@@ -313,15 +338,21 @@ export class SearchController extends AbstractController {
313
338
  const maxCheckTime = 500;
314
339
  const checkTime = 50;
315
340
  const maxScrolls = Math.ceil(maxCheckTime / checkTime);
316
- const maxCheckCount = maxScrolls + 1;
341
+ const maxCheckCount = maxScrolls + 2;
317
342
  let scrollBackCount = 0;
343
+ let checkCount = 0;
318
344
  let scrolledElem = undefined;
319
345
  const checkAndScroll = () => {
320
346
  const elem = document.querySelector(element?.selector);
321
- if (elem)
347
+ if (elem) {
322
348
  scrollBackCount++;
323
- if (elem && scrollBackCount < maxCheckCount) {
349
+ }
350
+ else {
351
+ checkCount++;
352
+ }
353
+ if (elem) {
324
354
  const { y } = elem.getBoundingClientRect();
355
+ // if the offset is off, we need to scroll into position (can be caused by lazy loaded images)
325
356
  if (y > offset + 1 || y < offset - 1) {
326
357
  elem.scrollIntoView();
327
358
  // after scrolling into view, use top value with offset (for when element at bottom)
@@ -333,7 +364,7 @@ export class SearchController extends AbstractController {
333
364
  }
334
365
  return false;
335
366
  };
336
- while (checkAndScroll() || scrollBackCount <= maxScrolls) {
367
+ while (checkAndScroll() || (scrollBackCount <= maxScrolls && checkCount <= maxCheckCount)) {
337
368
  await new Promise((resolve) => setTimeout(resolve, checkTime));
338
369
  }
339
370
  if (scrolledElem) {
@@ -412,14 +443,24 @@ export function getStorableRequestParams(request) {
412
443
  },
413
444
  };
414
445
  }
415
- function generateHrefSelector(element, href, levels = 7) {
446
+ export function generateHrefSelector(element, href, levels = 7) {
416
447
  let level = 0;
417
448
  let elem = element;
418
- while (elem && level < levels) {
449
+ while (elem && level <= levels) {
419
450
  // check within
420
- const innerElemHref = elem.querySelector(`[href*="${href}"]`);
421
- if (innerElemHref && elem.classList.value) {
422
- return `${elem.tagName}.${elem.classList.value.replace(/\s/g, '.')} [href*="${href}"]`;
451
+ const innerHrefElem = elem.querySelector(`[href*="${href}"]`);
452
+ if (innerHrefElem) {
453
+ // innerHrefElem was found! now get selectors up to elem that contained it
454
+ let selector = '';
455
+ let parentElem = innerHrefElem;
456
+ while (parentElem && parentElem != elem.parentElement) {
457
+ const classNames = parentElem.classList.value.trim().split(' ');
458
+ // document.querySelector does not appreciate special characters - must escape them
459
+ const escapedClassSelector = classNames.reduce((classes, classname) => (classname.trim() ? `${classes}.${cssEscape(classname.trim())}` : classes), '');
460
+ selector = `${parentElem.tagName}${escapedClassSelector}${selector ? ` ${selector}` : ''}`;
461
+ parentElem = parentElem.parentElement;
462
+ }
463
+ return `${selector}[href*="${href}"]`;
423
464
  }
424
465
  elem = elem.parentElement;
425
466
  level++;
@@ -28,9 +28,9 @@ export declare type RestorePositionObj = {
28
28
  element?: ElementPositionObj;
29
29
  };
30
30
  export declare type ElementPositionObj = {
31
- href: string;
32
- selector: string;
33
- domRect: DOMRect;
31
+ href?: string;
32
+ selector?: string;
33
+ domRect?: DOMRect;
34
34
  };
35
35
  export declare enum ControllerTypes {
36
36
  search = "search",
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@searchspring/snap-controller",
3
- "version": "0.43.0",
3
+ "version": "0.44.0",
4
4
  "description": "Snap Controllers",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -20,21 +20,22 @@
20
20
  "test:watch": "jest --watch"
21
21
  },
22
22
  "dependencies": {
23
- "@searchspring/snap-toolbox": "^0.43.0",
23
+ "@searchspring/snap-toolbox": "^0.44.0",
24
+ "css.escape": "1.5.1",
24
25
  "deepmerge": "4.3.1"
25
26
  },
26
27
  "devDependencies": {
27
- "@searchspring/snap-client": "^0.43.0",
28
- "@searchspring/snap-event-manager": "^0.43.0",
29
- "@searchspring/snap-logger": "^0.43.0",
30
- "@searchspring/snap-profiler": "^0.43.0",
31
- "@searchspring/snap-store-mobx": "^0.43.0",
32
- "@searchspring/snap-tracker": "^0.43.0",
33
- "@searchspring/snap-url-manager": "^0.43.0"
28
+ "@searchspring/snap-client": "^0.44.0",
29
+ "@searchspring/snap-event-manager": "^0.44.0",
30
+ "@searchspring/snap-logger": "^0.44.0",
31
+ "@searchspring/snap-profiler": "^0.44.0",
32
+ "@searchspring/snap-store-mobx": "^0.44.0",
33
+ "@searchspring/snap-tracker": "^0.44.0",
34
+ "@searchspring/snap-url-manager": "^0.44.0"
34
35
  },
35
36
  "sideEffects": false,
36
37
  "files": [
37
38
  "dist/**/*"
38
39
  ],
39
- "gitHead": "60b06644edb6f2f8258334321e15cafb5d7d4888"
40
+ "gitHead": "d22fcf1a316fdae0866c21dbd697da8c4a706965"
40
41
  }