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

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.20",
4
4
  "description": "DX Lightning web components",
5
5
  "license": "MIT",
6
6
  "engines": {
@@ -41,90 +41,21 @@ const resultsTemplatesInnerHtml = `
41
41
  <script
42
42
  id="myDocumentResultTemplate"
43
43
  class="result-template"
44
- type="text/html"
44
+ type="text/underscore"
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
- <span class="CoveoFieldValue" data-field="@breadcrumbs" data-helper="breadcrumbs" data-html-value="true"></span>
52
- </div>
53
- <p class="dx-result-title">
54
- <a
55
- class="CoveoResultLink"
56
- data-field="@clickableuri"
57
- ></a>
58
- </p>
59
- <p class="dx-result-excerpt CoveoExcerpt"></p>
60
- </div>
61
- </script>
62
- <script
63
- id="myDefaultResultTemplate"
64
- class="result-template"
65
- type="text/html"
66
- data-condition="raw.breadcrumbs"
67
- >
68
- <div class="dx-result">
69
- <div class="dx-result-info">
70
- <span class="CoveoFieldValue" data-field="@content_type" data-helper="badge" data-html-value="true"></span>
71
- <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>
110
- </div>
111
- <p class="dx-result-title">
112
- <a class="CoveoResultLink"></a>
113
- </p>
114
- <p class="dx-result-excerpt CoveoExcerpt"></p>
115
- </div>
116
- </script>
117
- <script
118
- id="myDocumentResultTemplate"
119
- class="result-template"
120
- type="text/html"
121
- data-field-publicurl=""
122
- data-condition="!raw.breadcrumbs && !raw.metabreadcrumbs"
123
- >
124
- <div class="dx-result">
125
- <div class="dx-result-info">
126
- <span class="CoveoFieldValue" data-field="@content_type" data-helper="badge" data-html-value="true"></span>
127
- <span class="CoveoFieldValue" data-field="@uri" data-helper="uriBreadcrumbs" data-html-value="true"></span>
50
+ <% if (!raw.breadcrumbs && !raw.metabreadcrumbs) { %>
51
+ <span class="CoveoFieldValue" data-field="@uri" data-helper="uriBreadcrumbs" data-html-value="true"></span>
52
+ <% } else { %>
53
+ <% if (raw.uri.includes('/references/')) { %>
54
+ <span class="CoveoFieldValue" data-field="@metabreadcrumbs" data-helper="metabreadcrumbs" data-html-value="true"></span>
55
+ <% } else { %>
56
+ <span class="CoveoFieldValue" data-field="@breadcrumbs" data-helper="breadcrumbs" data-html-value="true"></span>
57
+ <% } %>
58
+ <% } %>
128
59
  </div>
129
60
  <p class="dx-result-title">
130
61
  <a
@@ -138,13 +69,20 @@ const resultsTemplatesInnerHtml = `
138
69
  <script
139
70
  id="myDefaultResultTemplate"
140
71
  class="result-template"
141
- type="text/html"
142
- data-condition="!raw.breadcrumbs && !raw.metabreadcrumbs"
72
+ type="text/underscore"
143
73
  >
144
74
  <div class="dx-result">
145
75
  <div class="dx-result-info">
146
76
  <span class="CoveoFieldValue" data-field="@content_type" data-helper="badge" data-html-value="true"></span>
147
- <span class="CoveoFieldValue" data-field="@uri" data-helper="uriBreadcrumbs" data-html-value="true"></span>
77
+ <% if (!raw.breadcrumbs && !raw.metabreadcrumbs) { %>
78
+ <span class="CoveoFieldValue" data-field="@uri" data-helper="uriBreadcrumbs" data-html-value="true"></span>
79
+ <% } else { %>
80
+ <% if (raw.uri.includes('/references/')) { %>
81
+ <span class="CoveoFieldValue" data-field="@metabreadcrumbs" data-helper="metabreadcrumbs" data-html-value="true"></span>
82
+ <% } else { %>
83
+ <span class="CoveoFieldValue" data-field="@breadcrumbs" data-helper="breadcrumbs" data-html-value="true"></span>
84
+ <% } %>
85
+ <% } %>
148
86
  </div>
149
87
  <p class="dx-result-title">
150
88
  <a class="CoveoResultLink"></a>
@@ -242,14 +180,14 @@ const buildTemplateHelperUriBreadcrumbs = (value: string) => {
242
180
  const buildTemplateHelperBreadcrumbs = (value: string) => {
243
181
  const parts = value.split("/").filter((part) => part !== "");
244
182
 
245
- // Don't show breadcrumbs if there's only one part or two (two because we remove the last item in the next step)
183
+ // Don't show breadcrumbs if there's only one part
246
184
  if (parts.length === 1) {
247
185
  return "";
248
186
  }
249
187
 
250
188
  const breadcrumbs = processParts(parts);
251
189
 
252
- // Remove the last breadcrumb item
190
+ // remove last breadcrumb item
253
191
  breadcrumbs.pop();
254
192
 
255
193
  return `
@@ -257,6 +195,21 @@ const buildTemplateHelperBreadcrumbs = (value: string) => {
257
195
  `;
258
196
  };
259
197
 
198
+ const buildTemplateHelperMetaBreadcrumbs = (value: string) => {
199
+ const parts = value.split("/").filter((part) => part !== "");
200
+
201
+ // Don't show breadcrumbs if there's only one part
202
+ if (parts.length === 1) {
203
+ return "";
204
+ }
205
+
206
+ const breadcrumbs = processParts(parts);
207
+
208
+ return `
209
+ <span class="breadcrumb">/ ${breadcrumbs.join(" / ")}</span>
210
+ `;
211
+ };
212
+
260
213
  // @ts-ignore Dark Magic (TM) we are overriding the 'title' field with a custom getter. We should really stop doing this.
261
214
  export default class SearchResults extends LightningElement {
262
215
  @api coveoOrganizationId!: string;
@@ -482,13 +435,18 @@ export default class SearchResults extends LightningElement {
482
435
  );
483
436
 
484
437
  Coveo.TemplateHelpers.registerTemplateHelper(
485
- "uriBreadcrumbs",
486
- buildTemplateHelperUriBreadcrumbs
438
+ "breadcrumbs",
439
+ buildTemplateHelperBreadcrumbs
487
440
  );
488
441
 
489
442
  Coveo.TemplateHelpers.registerTemplateHelper(
490
- "breadcrumbs",
491
- buildTemplateHelperBreadcrumbs
443
+ "metabreadcrumbs",
444
+ buildTemplateHelperMetaBreadcrumbs
445
+ );
446
+
447
+ Coveo.TemplateHelpers.registerTemplateHelper(
448
+ "uriBreadcrumbs",
449
+ buildTemplateHelperUriBreadcrumbs
492
450
  );
493
451
 
494
452
  Coveo.init(this.root);