2
This commit is contained in:
61
normal-admin/node_modules/element-plus/lib/hooks/use-delayed-toggle/index.js
generated
vendored
Normal file
61
normal-admin/node_modules/element-plus/lib/hooks/use-delayed-toggle/index.js
generated
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, '__esModule', { value: true });
|
||||
|
||||
var vue = require('vue');
|
||||
var index = require('../use-timeout/index.js');
|
||||
var runtime = require('../../utils/vue/props/runtime.js');
|
||||
var types = require('../../utils/types.js');
|
||||
|
||||
const useDelayedToggleProps = runtime.buildProps({
|
||||
showAfter: {
|
||||
type: Number,
|
||||
default: 0
|
||||
},
|
||||
hideAfter: {
|
||||
type: Number,
|
||||
default: 200
|
||||
},
|
||||
autoClose: {
|
||||
type: Number,
|
||||
default: 0
|
||||
}
|
||||
});
|
||||
const useDelayedToggle = ({
|
||||
showAfter,
|
||||
hideAfter,
|
||||
autoClose,
|
||||
open,
|
||||
close
|
||||
}) => {
|
||||
const { registerTimeout } = index.useTimeout();
|
||||
const {
|
||||
registerTimeout: registerTimeoutForAutoClose,
|
||||
cancelTimeout: cancelTimeoutForAutoClose
|
||||
} = index.useTimeout();
|
||||
const onOpen = (event, delay = vue.unref(showAfter)) => {
|
||||
registerTimeout(() => {
|
||||
open(event);
|
||||
const _autoClose = vue.unref(autoClose);
|
||||
if (types.isNumber(_autoClose) && _autoClose > 0) {
|
||||
registerTimeoutForAutoClose(() => {
|
||||
close(event);
|
||||
}, _autoClose);
|
||||
}
|
||||
}, delay);
|
||||
};
|
||||
const onClose = (event, delay = vue.unref(hideAfter)) => {
|
||||
cancelTimeoutForAutoClose();
|
||||
registerTimeout(() => {
|
||||
close(event);
|
||||
}, delay);
|
||||
};
|
||||
return {
|
||||
onOpen,
|
||||
onClose
|
||||
};
|
||||
};
|
||||
|
||||
exports.useDelayedToggle = useDelayedToggle;
|
||||
exports.useDelayedToggleProps = useDelayedToggleProps;
|
||||
//# sourceMappingURL=index.js.map
|
||||
Reference in New Issue
Block a user