UNPKG

@empathyco/x-components

Version:
78 lines (75 loc) 3.35 kB
import { namespacedWireCommit, namespacedWireCommitWithoutPayload, namespacedWireDispatch, namespacedWireDispatchWithoutPayload } from '../../wiring/namespaced-wires.factory.js'; import { createWiring } from '../../wiring/wiring.utils.js'; import { filter } from '../../wiring/wires.operators.js'; /** `relatedPrompts` XModule name. */ const moduleName = 'relatedPrompts'; /** WireCommit for RelatedPromptsXModule. */ const wireCommit = namespacedWireCommit(moduleName); /** WireCommitWithoutPayload for RelatedPromptsXModule. */ const wireCommitWithoutPayload = namespacedWireCommitWithoutPayload(moduleName); /** WireDispatch for RelatedPromptsXModule.*/ const wireDispatch = namespacedWireDispatch(moduleName); /** WireDispatchWithoutPayload for RelatedPromptsXModule. */ const wireDispatchWithoutPayload = namespacedWireDispatchWithoutPayload(moduleName); /** Sets the related prompts state from URL data. */ const setUrlParams = wireDispatch('setUrlParams'); /** Sets the related prompts state `params`. */ const setExtraParams = wireCommit('setParams'); /** Sets the related prompts state `query`. */ const setRelatedPromptsQuery = wireCommit('setQuery'); /** Sets the related prompts state `query` from the payload. */ const setRelatedPromptsQueryFromPreview = wireCommit('setQuery', ({ eventPayload: { query } }) => query); /** Sets the related prompts state `selectedQuery`. */ const setRelatedPromptQuery = wireCommit('setSelectedQuery'); /** Sets the related prompts state `selectedPrompt`. */ const setRelatedPrompt = wireCommit('setSelectedPrompt'); /** Fetches and saves the related prompts response. */ const fetchAndSaveRelatedPrompts = wireDispatch('fetchAndSaveRelatedPrompts'); /** Cancels the fetch and save related prompts response. */ const cancelFetchAndSaveRelatedPrompts = wireDispatchWithoutPayload('cancelFetchAndSaveRelatedPrompts'); /** Resets the related prompts state. */ const resetRelatedPromptsState = wireCommitWithoutPayload('resetRelatedPromptsState'); /** Resets the selected related prompt number. */ const resetRelatedPrompt = wireCommitWithoutPayload('resetSelectedPrompt'); /** * Wiring configuration for the {@link RelatedPromptsXModule | related prompts module}. * * @internal */ const relatedPromptsWiring = createWiring({ ParamsLoadedFromUrl: { setUrlParams }, ExtraParamsChanged: { setExtraParams }, UserAcceptedAQuery: { setRelatedPromptsQuery, resetRelatedPrompt }, UserAcceptedAQueryPreview: { setRelatedPromptsQueryFromPreview, resetRelatedPrompt }, UserClearedQuery: { cancelFetchAndSaveRelatedPrompts, resetRelatedPromptsState, setRelatedPromptsQuery }, RelatedPromptsRequestUpdated: { fetchAndSaveRelatedPrompts }, UserSelectedARelatedPrompt: { setRelatedPrompt }, UserSelectedARelatedPromptQuery: { setRelatedPromptQuery }, SearchRequestChanged: { resetRelatedPrompt: filter(resetRelatedPrompt, // Avoid reset selected prompt just after restored from URL with ParamsLoadedFromUrl event ({ store }) => store.state.x.search.origin !== 'url:external') } }); export { relatedPromptsWiring }; //# sourceMappingURL=wiring.js.map