Skip to content

Commit

Permalink
Runtime Config querySource listener (#879)
Browse files Browse the repository at this point in the history
Listen to runtime config updates for 'querySource' and set the corresponding method in ANSWERS.
 
The theme must be pointed to an SDK version which includes this change for this to work: yext/answers-search-ui#1464.

J=SLAP-1438
TEST=manual

Test setting the query source in iframe and non-iframe experiences with runtime config and observe the correct source being sent to the API
  • Loading branch information
cea2aj authored Jul 13, 2021
1 parent a7b75e4 commit 1cb987e
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 2 deletions.
11 changes: 10 additions & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion static/js/answers-experience.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import DeferredPromise from './deferred-promise';
import analyticsListener from './runtime-config-listeners/analytics';
import sessionTrackingListener from './runtime-config-listeners/session-tracking';
import querySourceListener from './runtime-config-listeners/query-source';

/**
* @typedef {import('./runtime-config.js').RuntimeConfigListener} RuntimeConfigListener
Expand All @@ -12,7 +13,8 @@ export default class AnswersExperience {
this.AnswersInitializedPromise = new DeferredPromise();
this._runtimeConfigListeners = [
analyticsListener,
sessionTrackingListener
sessionTrackingListener,
querySourceListener
];

this._registerRuntimeConfigListeners();
Expand Down
9 changes: 9 additions & 0 deletions static/js/runtime-config-listeners/query-source.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
/**
* @type {import('../runtime-config.js').RuntimeConfigListener}
*/
export default {
key: 'querySource',
callback: value => {
ANSWERS.setQuerySource(value);
}
}

0 comments on commit 1cb987e

Please sign in to comment.