123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- import _extends from "@babel/runtime/helpers/esm/extends";
- import Vue from 'vue';
- import VanNotify from './Notify';
- import { isObject, isServer } from '../utils';
- import { mount } from '../utils/functional';
- var timer;
- var instance;
- function parseOptions(message) {
- return isObject(message) ? message : {
- message: message
- };
- }
- function Notify(options) {
- /* istanbul ignore if */
- if (isServer) {
- return;
- }
- if (!instance) {
- instance = mount(VanNotify, {
- on: {
- click: function click(event) {
- if (instance.onClick) {
- instance.onClick(event);
- }
- },
- close: function close() {
- if (instance.onClose) {
- instance.onClose();
- }
- },
- opened: function opened() {
- if (instance.onOpened) {
- instance.onOpened();
- }
- }
- }
- });
- }
- 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 {
- type: 'danger',
- value: true,
- message: '',
- color: undefined,
- background: undefined,
- duration: 3000,
- className: '',
- onClose: null,
- onClick: null,
- onOpened: null
- };
- }
- 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);
- };
- Notify.Component = VanNotify;
- Vue.prototype.$notify = Notify;
- export default Notify;
|