@salesforcedevs/dx-components 1.3.206-alpha.18 → 1.3.206-alpha.19

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforcedevs/dx-components",
3
- "version": "1.3.206-alpha.18",
3
+ "version": "1.3.206-alpha.19",
4
4
  "description": "DX Lightning web components",
5
5
  "license": "MIT",
6
6
  "engines": {
@@ -43,12 +43,12 @@ const resultsTemplatesInnerHtml = `
43
43
  class="result-template"
44
44
  type="text/html"
45
45
  data-field-publicurl=""
46
- data-condition="raw.breadcrumbs"
47
46
  >
48
47
  <div class="dx-result">
49
48
  <div class="dx-result-info">
50
49
  <span class="CoveoFieldValue" data-field="@content_type" data-helper="badge" data-html-value="true"></span>
51
50
  <span class="CoveoFieldValue" data-field="@breadcrumbs" data-helper="breadcrumbs" data-html-value="true"></span>
51
+ <span class="CoveoFieldValue" data-field="@metabreadcrumbs" data-helper="metabreadcrumbs" data-html-value="true"></span>
52
52
  </div>
53
53
  <p class="dx-result-title">
54
54
  <a
@@ -63,50 +63,12 @@ const resultsTemplatesInnerHtml = `
63
63
  id="myDefaultResultTemplate"
64
64
  class="result-template"
65
65
  type="text/html"
66
- data-condition="raw.breadcrumbs"
67
66
  >
68
67
  <div class="dx-result">
69
68
  <div class="dx-result-info">
70
69
  <span class="CoveoFieldValue" data-field="@content_type" data-helper="badge" data-html-value="true"></span>
71
70
  <span class="CoveoFieldValue" data-field="@breadcrumbs" data-helper="breadcrumbs" data-html-value="true"></span>
72
- </div>
73
- <p class="dx-result-title">
74
- <a class="CoveoResultLink"></a>
75
- </p>
76
- <p class="dx-result-excerpt CoveoExcerpt"></p>
77
- </div>
78
- </script>
79
- <script
80
- id="myDocumentResultTemplate"
81
- class="result-template"
82
- type="text/html"
83
- data-field-publicurl=""
84
- data-condition="raw.metabreadcrumbs"
85
- >
86
- <div class="dx-result">
87
- <div class="dx-result-info">
88
- <span class="CoveoFieldValue" data-field="@content_type" data-helper="badge" data-html-value="true"></span>
89
- <span class="CoveoFieldValue" data-field="@metabreadcrumbs" data-helper="breadcrumbs" data-html-value="true"></span>
90
- </div>
91
- <p class="dx-result-title">
92
- <a
93
- class="CoveoResultLink"
94
- data-field="@clickableuri"
95
- ></a>
96
- </p>
97
- <p class="dx-result-excerpt CoveoExcerpt"></p>
98
- </div>
99
- </script>
100
- <script
101
- id="myDefaultResultTemplate"
102
- class="result-template"
103
- type="text/html"
104
- data-condition="raw.metabreadcrumbs"
105
- >
106
- <div class="dx-result">
107
- <div class="dx-result-info">
108
- <span class="CoveoFieldValue" data-field="@content_type" data-helper="badge" data-html-value="true"></span>
109
- <span class="CoveoFieldValue" data-field="@metabreadcrumbs" data-helper="breadcrumbs" data-html-value="true"></span>
71
+ <span class="CoveoFieldValue" data-field="@metabreadcrumbs" data-helper="metabreadcrumbs" data-html-value="true"></span>
110
72
  </div>
111
73
  <p class="dx-result-title">
112
74
  <a class="CoveoResultLink"></a>
@@ -249,11 +211,8 @@ const buildTemplateHelperBreadcrumbs = (value: string) => {
249
211
 
250
212
  const breadcrumbs = processParts(parts);
251
213
 
252
- // Remove the last breadcrumb item
253
- breadcrumbs.pop();
254
-
255
214
  return `
256
- <span class="breadcrumb">/ ${breadcrumbs.join(" / ")} /</span>
215
+ <span class="breadcrumb">/ ${breadcrumbs.join(" / ")}</span>
257
216
  `;
258
217
  };
259
218
 
@@ -370,6 +329,8 @@ export default class SearchResults extends LightningElement {
370
329
  Coveo.$$(root).on(Coveo.QueryEvents.deferredQuerySuccess, () => {
371
330
  this.processBreadcrumbs(root);
372
331
 
332
+ this.filterBreadcrumbs();
333
+
373
334
  window.onresize = debounce(() => {
374
335
  this.processBreadcrumbs(root);
375
336
  }, 10);
@@ -482,18 +443,56 @@ export default class SearchResults extends LightningElement {
482
443
  );
483
444
 
484
445
  Coveo.TemplateHelpers.registerTemplateHelper(
485
- "uriBreadcrumbs",
486
- buildTemplateHelperUriBreadcrumbs
446
+ "breadcrumbs",
447
+ buildTemplateHelperBreadcrumbs
487
448
  );
488
449
 
489
450
  Coveo.TemplateHelpers.registerTemplateHelper(
490
- "breadcrumbs",
451
+ "metabreadcrumbs",
491
452
  buildTemplateHelperBreadcrumbs
492
453
  );
493
454
 
455
+ Coveo.TemplateHelpers.registerTemplateHelper(
456
+ "uriBreadcrumbs",
457
+ buildTemplateHelperUriBreadcrumbs
458
+ );
459
+
494
460
  Coveo.init(this.root);
495
461
  }
496
462
 
463
+ filterBreadcrumbs() {
464
+ const resultList = this.template.querySelector(
465
+ ".coveo-result-list-container"
466
+ );
467
+
468
+ requestAnimationFrame(() => {
469
+ const results = Array.from(resultList?.children || []);
470
+
471
+ // Hide the parent breadcrumb container if there are more than one breadcrumb
472
+ results.forEach((result) => {
473
+ const breadcrumbs = result.querySelectorAll(".breadcrumb");
474
+
475
+ if (breadcrumbs.length === 2) {
476
+ const breadcrumbParentOne = breadcrumbs[0].parentElement
477
+ ?.parentElement as any;
478
+ const breadcrumbParentTwo = breadcrumbs[1].parentElement
479
+ ?.parentElement as any;
480
+
481
+ const isRerencePage =
482
+ breadcrumbParentOne?.CoveoFieldValue?.result?.uri.includes(
483
+ "/references/"
484
+ );
485
+
486
+ if (isRerencePage) {
487
+ breadcrumbParentOne!.style.display = "none";
488
+ } else {
489
+ breadcrumbParentTwo!.style.display = "none";
490
+ }
491
+ }
492
+ });
493
+ });
494
+ }
495
+
497
496
  renderedCallback() {
498
497
  if (!this.isInitialized) {
499
498
  if (Object.prototype.hasOwnProperty.call(window, "Coveo")) {