UNPKG

@empathyco/x-components

Version:
122 lines (119 loc) 3.71 kB
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