|
@@ -1,9 +1,9 @@
|
|
import { $t } from 'element-ui/src/locale';
|
|
import { $t } from 'element-ui/src/locale';
|
|
|
|
|
|
-var CONFIRM_TEXT = $t('el.messagebox.confirm');
|
|
|
|
-var CANCEL_TEXT = $t('el.messagebox.cancel');
|
|
|
|
|
|
+const CONFIRM_TEXT = $t('el.messagebox.confirm');
|
|
|
|
+const CANCEL_TEXT = $t('el.messagebox.cancel');
|
|
|
|
|
|
-var defaults = {
|
|
|
|
|
|
+const defaults = {
|
|
title: '提示',
|
|
title: '提示',
|
|
message: '',
|
|
message: '',
|
|
type: '',
|
|
type: '',
|
|
@@ -31,12 +31,12 @@ var defaults = {
|
|
import Vue from 'vue';
|
|
import Vue from 'vue';
|
|
import msgboxVue from './main.vue';
|
|
import msgboxVue from './main.vue';
|
|
|
|
|
|
-var merge = function(target) {
|
|
|
|
- for (var i = 1, j = arguments.length; i < j; i++) {
|
|
|
|
- var source = arguments[i];
|
|
|
|
- for (var prop in source) {
|
|
|
|
|
|
+const merge = function(target) {
|
|
|
|
+ for (let i = 1, j = arguments.length; i < j; i++) {
|
|
|
|
+ let source = arguments[i];
|
|
|
|
+ for (let prop in source) {
|
|
if (source.hasOwnProperty(prop)) {
|
|
if (source.hasOwnProperty(prop)) {
|
|
- var value = source[prop];
|
|
|
|
|
|
+ let value = source[prop];
|
|
if (value !== undefined) {
|
|
if (value !== undefined) {
|
|
target[prop] = value;
|
|
target[prop] = value;
|
|
}
|
|
}
|
|
@@ -47,47 +47,49 @@ var merge = function(target) {
|
|
return target;
|
|
return target;
|
|
};
|
|
};
|
|
|
|
|
|
-var MessageBoxConstructor = Vue.extend(msgboxVue);
|
|
|
|
|
|
+const MessageBoxConstructor = Vue.extend(msgboxVue);
|
|
|
|
|
|
-var currentMsg, instance;
|
|
|
|
-var msgQueue = [];
|
|
|
|
|
|
+let currentMsg, instance;
|
|
|
|
+let msgQueue = [];
|
|
|
|
|
|
-var initInstance = function() {
|
|
|
|
- instance = new MessageBoxConstructor({
|
|
|
|
- el: document.createElement('div')
|
|
|
|
- });
|
|
|
|
-
|
|
|
|
- instance.callback = function(action) {
|
|
|
|
- if (currentMsg) {
|
|
|
|
- var callback = currentMsg.callback;
|
|
|
|
- if (typeof callback === 'function') {
|
|
|
|
- if (instance.showInput) {
|
|
|
|
- callback(instance.inputValue, action);
|
|
|
|
- } else {
|
|
|
|
- callback(action);
|
|
|
|
- }
|
|
|
|
|
|
+const defaultCallback = action => {
|
|
|
|
+ if (currentMsg) {
|
|
|
|
+ let callback = currentMsg.callback;
|
|
|
|
+ if (typeof callback === 'function') {
|
|
|
|
+ if (instance.showInput) {
|
|
|
|
+ callback(instance.inputValue, action);
|
|
|
|
+ } else {
|
|
|
|
+ callback(action);
|
|
}
|
|
}
|
|
- if (currentMsg.resolve) {
|
|
|
|
- var $type = currentMsg.options.$type;
|
|
|
|
- if ($type === 'confirm' || $type === 'prompt') {
|
|
|
|
- if (action === 'confirm') {
|
|
|
|
- if (instance.showInput) {
|
|
|
|
- currentMsg.resolve({ value: instance.inputValue, action });
|
|
|
|
- } else {
|
|
|
|
- currentMsg.resolve(action);
|
|
|
|
- }
|
|
|
|
- } else if (action === 'cancel' && currentMsg.reject) {
|
|
|
|
- currentMsg.reject(action);
|
|
|
|
|
|
+ }
|
|
|
|
+ if (currentMsg.resolve) {
|
|
|
|
+ let $type = currentMsg.options.$type;
|
|
|
|
+ if ($type === 'confirm' || $type === 'prompt') {
|
|
|
|
+ if (action === 'confirm') {
|
|
|
|
+ if (instance.showInput) {
|
|
|
|
+ currentMsg.resolve({ value: instance.inputValue, action });
|
|
|
|
+ } else {
|
|
|
|
+ currentMsg.resolve(action);
|
|
}
|
|
}
|
|
- } else {
|
|
|
|
- currentMsg.resolve(action);
|
|
|
|
|
|
+ } else if (action === 'cancel' && currentMsg.reject) {
|
|
|
|
+ currentMsg.reject(action);
|
|
}
|
|
}
|
|
|
|
+ } else {
|
|
|
|
+ currentMsg.resolve(action);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- };
|
|
|
|
|
|
+ }
|
|
};
|
|
};
|
|
|
|
|
|
-var showNextMsg = function() {
|
|
|
|
|
|
+const initInstance = () => {
|
|
|
|
+ instance = new MessageBoxConstructor({
|
|
|
|
+ el: document.createElement('div')
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ instance.callback = defaultCallback;
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+const showNextMsg = () => {
|
|
if (!instance) {
|
|
if (!instance) {
|
|
initInstance();
|
|
initInstance();
|
|
}
|
|
}
|
|
@@ -96,12 +98,15 @@ var showNextMsg = function() {
|
|
if (msgQueue.length > 0) {
|
|
if (msgQueue.length > 0) {
|
|
currentMsg = msgQueue.shift();
|
|
currentMsg = msgQueue.shift();
|
|
|
|
|
|
- var options = currentMsg.options;
|
|
|
|
- for (var prop in options) {
|
|
|
|
|
|
+ let options = currentMsg.options;
|
|
|
|
+ for (let prop in options) {
|
|
if (options.hasOwnProperty(prop)) {
|
|
if (options.hasOwnProperty(prop)) {
|
|
instance[prop] = options[prop];
|
|
instance[prop] = options[prop];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ if (options.callback === undefined) {
|
|
|
|
+ instance.callback = defaultCallback;
|
|
|
|
+ }
|
|
['modal', 'showClose', 'closeOnClickModal', 'closeOnPressEscape'].forEach(prop => {
|
|
['modal', 'showClose', 'closeOnClickModal', 'closeOnPressEscape'].forEach(prop => {
|
|
if (instance[prop] === undefined) {
|
|
if (instance[prop] === undefined) {
|
|
instance[prop] = true;
|
|
instance[prop] = true;
|
|
@@ -116,7 +121,7 @@ var showNextMsg = function() {
|
|
}
|
|
}
|
|
};
|
|
};
|
|
|
|
|
|
-var MessageBox = function(options, callback) {
|
|
|
|
|
|
+const MessageBox = function(options, callback) {
|
|
if (typeof options === 'string') {
|
|
if (typeof options === 'string') {
|
|
options = {
|
|
options = {
|
|
title: options
|
|
title: options
|
|
@@ -132,7 +137,7 @@ var MessageBox = function(options, callback) {
|
|
}
|
|
}
|
|
|
|
|
|
if (typeof Promise !== 'undefined') {
|
|
if (typeof Promise !== 'undefined') {
|
|
- return new Promise(function(resolve, reject) { // eslint-disable-line
|
|
|
|
|
|
+ return new Promise((resolve, reject) => { // eslint-disable-line
|
|
msgQueue.push({
|
|
msgQueue.push({
|
|
options: merge({}, defaults, MessageBox.defaults || {}, options),
|
|
options: merge({}, defaults, MessageBox.defaults || {}, options),
|
|
callback: callback,
|
|
callback: callback,
|
|
@@ -152,11 +157,11 @@ var MessageBox = function(options, callback) {
|
|
}
|
|
}
|
|
};
|
|
};
|
|
|
|
|
|
-MessageBox.setDefaults = function(defaults) {
|
|
|
|
|
|
+MessageBox.setDefaults = defaults => {
|
|
MessageBox.defaults = defaults;
|
|
MessageBox.defaults = defaults;
|
|
};
|
|
};
|
|
|
|
|
|
-MessageBox.alert = function(message, title, options) {
|
|
|
|
|
|
+MessageBox.alert = (message, title, options) => {
|
|
if (typeof title === 'object') {
|
|
if (typeof title === 'object') {
|
|
options = title;
|
|
options = title;
|
|
title = '';
|
|
title = '';
|
|
@@ -170,7 +175,7 @@ MessageBox.alert = function(message, title, options) {
|
|
}, options));
|
|
}, options));
|
|
};
|
|
};
|
|
|
|
|
|
-MessageBox.confirm = function(message, title, options) {
|
|
|
|
|
|
+MessageBox.confirm = (message, title, options) => {
|
|
if (typeof title === 'object') {
|
|
if (typeof title === 'object') {
|
|
options = title;
|
|
options = title;
|
|
title = '';
|
|
title = '';
|
|
@@ -183,7 +188,7 @@ MessageBox.confirm = function(message, title, options) {
|
|
}, options));
|
|
}, options));
|
|
};
|
|
};
|
|
|
|
|
|
-MessageBox.prompt = function(message, title, options) {
|
|
|
|
|
|
+MessageBox.prompt = (message, title, options) => {
|
|
if (typeof title === 'object') {
|
|
if (typeof title === 'object') {
|
|
options = title;
|
|
options = title;
|
|
title = '';
|
|
title = '';
|
|
@@ -197,7 +202,7 @@ MessageBox.prompt = function(message, title, options) {
|
|
}, options));
|
|
}, options));
|
|
};
|
|
};
|
|
|
|
|
|
-MessageBox.close = function() {
|
|
|
|
|
|
+MessageBox.close = () => {
|
|
instance.value = false;
|
|
instance.value = false;
|
|
msgQueue = [];
|
|
msgQueue = [];
|
|
currentMsg = null;
|
|
currentMsg = null;
|