vue-admin-core
Version:
A Component Library for Vue 3
40 lines (35 loc) • 895 B
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
const useAutoRunPlugin = (fetchInstance, { manual, ready = vue.ref(true), defaultParams = [], refreshDeps = [], refreshDepsAction }) => {
vue.watch(vue.toRef(ready), () => {
if (!manual && vue.toValue(ready)) {
fetchInstance.run(...defaultParams);
}
});
vue.watch(refreshDeps, () => {
if (!manual) {
if (refreshDepsAction) {
refreshDepsAction();
} else {
fetchInstance.refresh();
}
}
});
return {
onBefore: () => {
if (!ready.value) {
return {
stopNow: true
};
}
}
};
};
useAutoRunPlugin.onInit = ({ ready = vue.ref(true), manual }) => {
return {
loading: !manual && ready.value
};
};
exports.default = useAutoRunPlugin;
//# sourceMappingURL=useAutoRunPlugin.js.map