element-plus
Version:
> TODO: description
26 lines (25 loc) • 777 B
JavaScript
import { isRef, watch } from 'vue';
/**
* This method provides dialogable components the ability to restore previously activated element before
* the dialog gets opened
*/
export default (toggle, initialFocus) => {
let previousActive;
watch(() => toggle.value, val => {
var _a, _b;
if (val) {
previousActive = document.activeElement;
if (isRef(initialFocus)) {
(_b = (_a = initialFocus.value).focus) === null || _b === void 0 ? void 0 : _b.call(_a);
}
}
else {
if (process.env.NODE_ENV === 'testing') {
previousActive.focus.call(previousActive);
}
else {
previousActive.focus();
}
}
});
};