| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- import _extends from "@babel/runtime/helpers/esm/extends";
- import Vue from 'vue';
- import VanNotify from './Notify';
- import { RED, WHITE } from '../utils/color';
- import { isObj, isServer } from '../utils';
- import { mount } from '../utils/functional';
- var timer;
- var instance;
- function parseOptions(message) {
- return isObj(message) ? message : {
- message: message
- };
- }
- function Notify(options) {
- /* istanbul ignore if */
- if (isServer) {
- return;
- }
- if (!instance) {
- instance = mount(VanNotify);
- }
- options = _extends({}, Notify.currentOptions, parseOptions(options));
- _extends(instance, options);
- clearTimeout(timer);
- if (options.duration && options.duration > 0) {
- timer = setTimeout(Notify.clear, options.duration);
- }
- return instance;
- }
- function defaultOptions() {
- return {
- value: true,
- message: '',
- color: WHITE,
- background: RED,
- duration: 3000,
- className: ''
- };
- }
- Notify.clear = function () {
- if (instance) {
- instance.value = false;
- }
- };
- Notify.currentOptions = defaultOptions();
- Notify.setDefaultOptions = function (options) {
- _extends(Notify.currentOptions, options);
- };
- Notify.resetDefaultOptions = function () {
- Notify.currentOptions = defaultOptions();
- };
- Notify.install = function () {
- Vue.use(VanNotify);
- };
- Vue.prototype.$notify = Notify;
- export default Notify;
|