@coveo/quantic 3.15.5-pre.e036cabc6e → 3.16.0-pre.00dce09df4

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 (16) hide show
  1. package/force-app/main/default/lwc/quanticCaseAssistInterface/quanticCaseAssistInterface.js +3 -0
  2. package/force-app/main/default/lwc/quanticGeneratedAnswer/__tests__/quanticGeneratedAnswer.test.js +31 -0
  3. package/force-app/main/default/lwc/quanticGeneratedAnswer/e2e/quanticGeneratedAnswer.e2e.ts +1 -1
  4. package/force-app/main/default/lwc/quanticGeneratedAnswer/quanticGeneratedAnswer.js +5 -1
  5. package/force-app/main/default/lwc/quanticResultQuickview/quanticResultQuickview.html +1 -1
  6. package/force-app/main/default/lwc/quanticResultQuickview/quanticResultQuickview.js +0 -8
  7. package/force-app/main/default/staticresources/coveoheadless/case-assist/headless.js +10 -7
  8. package/force-app/main/default/staticresources/coveoheadless/definitions/api/analytics/base-analytics.d.ts +1 -5
  9. package/force-app/main/default/staticresources/coveoheadless/definitions/api/analytics/case-assist-analytics.d.ts +2 -4
  10. package/force-app/main/default/staticresources/coveoheadless/definitions/api/service/case-assist/get-document-suggestions/get-document-suggestions-response.d.ts +6 -1
  11. package/force-app/main/default/staticresources/coveoheadless/definitions/app/engine.d.ts +2 -0
  12. package/force-app/main/default/staticresources/coveoheadless/definitions/features/case-assist/case-assist-analytics-selectors.d.ts +6 -0
  13. package/force-app/main/default/staticresources/coveoheadless/headless.js +12 -9
  14. package/force-app/main/default/staticresources/coveoheadless/insight/headless.js +11 -8
  15. package/force-app/main/default/staticresources/coveoheadless/recommendation/headless.js +7 -7
  16. package/package.json +3 -3
@@ -44,6 +44,8 @@ export default class QuanticCaseAssistInterface extends LightningElement {
44
44
  engineOptions;
45
45
  /** @type {boolean} */
46
46
  isCaseStartLogged = false;
47
+ /** @type {string} */
48
+ analyticsOriginContext = 'CaseAssist';
47
49
 
48
50
  connectedCallback() {
49
51
  loadDependencies(this, HeadlessBundleNames.caseAssist)
@@ -61,6 +63,7 @@ export default class QuanticCaseAssistInterface extends LightningElement {
61
63
  searchHub: this.searchHub,
62
64
  analytics: {
63
65
  analyticsMode: 'legacy',
66
+ originContext: this.analyticsOriginContext,
64
67
  ...(document.referrer && {
65
68
  originLevel3: document.referrer.substring(0, 256),
66
69
  }),
@@ -734,6 +734,10 @@ describe('c-quantic-generated-answer', () => {
734
734
  answerContentFormat: exampleAnswerContentFormat,
735
735
  cannotAnswer: true,
736
736
  };
737
+ searchStatusState = {
738
+ ...initialSearchStatusState,
739
+ hasResults: true,
740
+ };
737
741
  mockSuccessfulHeadlessInitialization();
738
742
  prepareHeadlessState();
739
743
  });
@@ -778,6 +782,33 @@ describe('c-quantic-generated-answer', () => {
778
782
  expect(generatedAnswerCardNoAnswer).not.toBeNull();
779
783
  });
780
784
  });
785
+
786
+ describe('when no results are returned', () => {
787
+ beforeEach(() => {
788
+ searchStatusState = {
789
+ ...initialSearchStatusState,
790
+ hasResults: false,
791
+ };
792
+ });
793
+
794
+ it('should not display the generated answer or the no generated answer card', async () => {
795
+ const element = createTestComponent(
796
+ defaultOptions,
797
+ exampleAssignedElements
798
+ );
799
+ await flushPromises();
800
+
801
+ const generatedAnswerCard = element.shadowRoot.querySelector(
802
+ selectors.generatedAnswerCard
803
+ );
804
+ expect(generatedAnswerCard).toBeNull();
805
+
806
+ const generatedAnswerCardNoAnswer = element.shadowRoot.querySelector(
807
+ selectors.generatedAnswerNoAnswerCard
808
+ );
809
+ expect(generatedAnswerCardNoAnswer).toBeNull();
810
+ });
811
+ });
781
812
  });
782
813
  });
783
814
  });
@@ -115,7 +115,7 @@ useCaseTestCases.forEach((useCase) => {
115
115
  },
116
116
  });
117
117
 
118
- test('should allow toggeling the generated OFF and ON and log analytics', async ({
118
+ test('should allow toggling the generated OFF and ON and log analytics', async ({
119
119
  generatedAnswer,
120
120
  }) => {
121
121
  const hideAnswerAnalyticRequestPromise =
@@ -589,7 +589,11 @@ export default class QuanticGeneratedAnswer extends LightningElement {
589
589
  }
590
590
 
591
591
  get shouldDisplayCustomNoAnswerMessage() {
592
- return this.state?.cannotAnswer && this.hasCustomNoAnswerMessage;
592
+ return (
593
+ this.state?.cannotAnswer &&
594
+ this.searchStatusState?.hasResults &&
595
+ this.hasCustomNoAnswerMessage
596
+ );
593
597
  }
594
598
 
595
599
  /**
@@ -45,7 +45,7 @@
45
45
  </header>
46
46
  <c-quantic-quickview-content id="quickview__content-container" class="quickview__content-container slds-wrap"
47
47
  result={result} content-url={contentURL}
48
- onloadingstatechange={handleLoadingStateChange}></c-quantic-quickview-content>
48
+ onquantic__loadingstatechange={handleLoadingStateChange}></c-quantic-quickview-content>
49
49
  <template if:false={isLoading}>
50
50
  <footer onclick={stopPropagation} class="slds-modal__footer slds-p-top_none slds-p-bottom_none">
51
51
  <slot name="footer"></slot>
@@ -121,10 +121,6 @@ export default class QuanticResultQuickview extends LightningElement {
121
121
  );
122
122
  this.dispatchEvent(resultActionRegister);
123
123
  }
124
- this.addEventListener(
125
- 'quantic__loadingstatechange',
126
- this.handleLoadingStateChange
127
- );
128
124
  }
129
125
 
130
126
  renderedCallback() {
@@ -156,10 +152,6 @@ export default class QuanticResultQuickview extends LightningElement {
156
152
 
157
153
  disconnectedCallback() {
158
154
  this.unsubscribe?.();
159
- this.removeEventListener(
160
- 'loadingstatechange',
161
- this.handleLoadingStateChange
162
- );
163
155
  }
164
156
 
165
157
  updateState() {