@empathyco/x-components
Version:
Empathy X Components
122 lines (119 loc) • 3.71 kB
JavaScript
import { namespacedWireCommit, namespacedWireDispatch, namespacedWireDispatchWithoutPayload } from '../../wiring/namespaced-wires.factory.js';
import { namespacedDebounce } from '../../wiring/namespaced-wires.operators.js';
import { createWiring } from '../../wiring/wiring.utils.js';
/**
* `identifierResults` {@link XModuleName | XModule name}.
*
* @internal
*/
const moduleName = 'identifierResults';
/**
* WireCommit for {@link IdentifierResultsXModule}.
*
* @internal
*/
const wireCommit = namespacedWireCommit(moduleName);
/**
* WireDispatch for {@link IdentifierResultsXModule}.
*
* @internal
*/
const wireDispatch = namespacedWireDispatch(moduleName);
/**
* WireDispatchWithoutPayload for {@link IdentifierResultsXModule}.
*
* @internal
*/
const wireDispatchWithoutPayload = namespacedWireDispatchWithoutPayload(moduleName);
/**
* Sets the identifier-results module query.
*
* @public
*/
const setIdentifierResultsQuery = wireDispatch('saveQuery');
/**
* Sets the identifier-results module query from a selectedQueryPreview's query.
*
* @public
*/
const setIdentifierResultsQueryFromPreview = wireDispatch('saveQuery', ({ eventPayload: { query } }) => query);
/**
* Clears the identifier-results module query.
*
* @public
*/
const clearIdentifierResultsQuery = wireCommit('setQuery', '');
/**
* Sets the identifier results state `query` from url.
*
* @public
*/
const setUrlParams = wireDispatch('saveQuery', ({ eventPayload: { query } }) => query);
/**
* Requests and stores a new set of identifier results for the query.
*
* @public
*/
const fetchAndSaveIdentifierResultsWire = wireDispatch('fetchAndSaveIdentifierResults');
/**
* Cancels the {@link IdentifierResultsActions.fetchAndSaveIdentifierResults} request promise.
*
* @public
*/
const cancelFetchAndSaveIdentifierResultsWire = wireDispatchWithoutPayload('cancelFetchAndSaveIdentifierResults');
/**
* Sets the identifier results state `origin`.
*
* @public
*/
const saveIdentifierResultsOriginWire = wireDispatch('saveOrigin', ({ metadata }) => metadata);
/**
* Sets the identifier result state `params`.
*
* @public
*/
const setIdentifierResultsExtraParams = wireCommit('setParams');
/**
* Debounce function for the module.
*/
const moduleDebounce = namespacedDebounce(moduleName);
/**
* Default wiring for the {@link IdentifierResultsXModule} module.
*
* @internal
*/
const identifierResultsWiring = createWiring({
ParamsLoadedFromUrl: {
setUrlParams,
saveIdentifierResultsOriginWire,
},
UserIsTypingAQuery: {
setIdentifierResultsQueryDebounce: moduleDebounce(setIdentifierResultsQuery, ({ state }) => state.config.debounceInMs, { cancelOn: 'UserAcceptedAQuery' }),
},
UserAcceptedAQuery: {
setIdentifierResultsQuery,
saveIdentifierResultsOriginWire,
},
UserClearedQuery: {
clearIdentifierResultsQuery,
cancelFetchAndSaveIdentifierResultsWire,
},
IdentifierResultsRequestUpdated: {
fetchAndSaveIdentifierResultsWire,
},
ExtraParamsChanged: {
setIdentifierResultsExtraParams,
},
UserClickedCloseX: {
clearIdentifierResultsQuery,
},
UserClickedOutOfMainModal: {
clearIdentifierResultsQuery,
},
UserAcceptedAQueryPreview: {
setIdentifierResultsQueryFromPreview,
saveIdentifierResultsOriginWire,
},
});
export { cancelFetchAndSaveIdentifierResultsWire, clearIdentifierResultsQuery, fetchAndSaveIdentifierResultsWire, identifierResultsWiring, saveIdentifierResultsOriginWire, setIdentifierResultsExtraParams, setIdentifierResultsQuery, setIdentifierResultsQueryFromPreview };
//# sourceMappingURL=wiring.js.map