@workday/canvas-kit-react
Version:
The parent module that contains all Workday Canvas Kit React components
24 lines (23 loc) • 1.1 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.useComboboxResetCursorToSelected = void 0;
const react_1 = __importDefault(require("react"));
const common_1 = require("@workday/canvas-kit-react/common");
const useComboboxModel_1 = require("./useComboboxModel");
/**
* Reset the cursor to the selected item when the Menu is closed
*/
exports.useComboboxResetCursorToSelected = (0, common_1.createElemPropsHook)(useComboboxModel_1.useComboboxModel)(model => {
const visible = model.state.visibility !== 'hidden';
react_1.default.useEffect(() => {
// when closed, the cursor should reset to the selected item if something is selected
if (!visible && model.state.selectedIds.length) {
model.events.goTo({ id: model.state.selectedIds[0] });
}
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [visible, model.events, model.state.selectedIds]);
return {};
});
;