UNPKG

@patternplate/client

Version:

Universal javascript client application for patternplate

84 lines (65 loc) 1.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.type = exports.default = void 0; var _ = require("./"); var _default = toggleSearch; exports.default = _default; const type = "TOGGLE_SEARCH_ENABLED"; exports.type = type; function toggleSearch(payload = {}) { return (dispatch, getState) => { const state = getState(); if (payload.sync) { focus(state.searchEnabled); return; } const next = "focus" in payload ? payload.focus : !state.searchEnabled; if (!next) { dispatch((0, _.search)({ persist: true, value: value() })); } dispatch((0, _.patchLocation)({ query: { "search-enabled": next, "search-preview": 0 } })); }; } toggleSearch.type = type; toggleSearch.key = "search-enabled"; toggleSearch.property = "searchEnabled"; function focus(next) { if (!next) { return; } if (!("document" in global)) { return; } setTimeout(() => { const el = global.document.querySelector("input[data-search]"); if (!el) { return; } if (global.document.activeElement !== el) { el.focus(); } const range = el.value.length; el.setSelectionRange(range, range); }, 100); } function value() { if (!("document" in global)) { return; } const el = global.document.querySelector("input[data-search]"); if (!el) { return; } return el.value; } //# sourceMappingURL=toggle-search.js.map