|
|
@ -1,4 +1,6 @@ |
|
|
|
import Notification from 'rc-notification'; |
|
|
|
import assign from 'object-assign'; |
|
|
|
import React from 'react'; |
|
|
|
|
|
|
|
let top = 24; |
|
|
|
|
|
|
@ -6,12 +8,12 @@ var notificationInstance; |
|
|
|
|
|
|
|
function getNotificationInstance() { |
|
|
|
notificationInstance = notificationInstance || Notification.newInstance({ |
|
|
|
prefixCls: 'ant-notification', |
|
|
|
style: { |
|
|
|
top: top, |
|
|
|
right: 0 |
|
|
|
} |
|
|
|
}); |
|
|
|
prefixCls: 'ant-notification', |
|
|
|
style: { |
|
|
|
top: top, |
|
|
|
right: 0 |
|
|
|
} |
|
|
|
}); |
|
|
|
return notificationInstance; |
|
|
|
} |
|
|
|
|
|
|
@ -20,26 +22,28 @@ function notice(args) { |
|
|
|
let prefixCls = ' ant-notification-notice-content-icon-'; |
|
|
|
let iconClass = 'anticon anticon-'; |
|
|
|
switch (args.icon) { |
|
|
|
case 'success': |
|
|
|
iconClass += 'check-circle-o'; |
|
|
|
break; |
|
|
|
case 'info': |
|
|
|
iconClass += 'info-circle-o'; |
|
|
|
break; |
|
|
|
case 'error': |
|
|
|
iconClass += 'exclamation-circle-o'; |
|
|
|
break; |
|
|
|
case 'warn': |
|
|
|
iconClass += 'question-circle-o'; |
|
|
|
break; |
|
|
|
default: |
|
|
|
iconClass += 'info-circle'; |
|
|
|
case 'success': |
|
|
|
iconClass += 'check-circle-o'; |
|
|
|
break; |
|
|
|
case 'info': |
|
|
|
iconClass += 'info-circle-o'; |
|
|
|
break; |
|
|
|
case 'error': |
|
|
|
iconClass += 'exclamation-circle-o'; |
|
|
|
break; |
|
|
|
case 'warn': |
|
|
|
iconClass += 'question-circle-o'; |
|
|
|
break; |
|
|
|
default: |
|
|
|
iconClass += 'info-circle'; |
|
|
|
} |
|
|
|
|
|
|
|
getNotificationInstance().notice({ |
|
|
|
content: <div> |
|
|
|
<i className={iconClass + prefixCls + 'icon-' + args.icon + prefixCls + 'icon'}></i> |
|
|
|
|
|
|
|
<p className={prefixCls + 'message'}>{args.message}</p> |
|
|
|
|
|
|
|
<p className={prefixCls + 'description'}>{args.description}</p> |
|
|
|
</div>, |
|
|
|
duration: null, |
|
|
@ -53,6 +57,7 @@ function notice(args) { |
|
|
|
getNotificationInstance().notice({ |
|
|
|
content: <div> |
|
|
|
<p className={prefixCls + 'message'}>{args.message}</p> |
|
|
|
|
|
|
|
<p className={prefixCls + 'description'}>{args.description}</p> |
|
|
|
</div>, |
|
|
|
duration: null, |
|
|
@ -64,6 +69,7 @@ function notice(args) { |
|
|
|
getNotificationInstance().notice({ |
|
|
|
content: <div> |
|
|
|
<p className={prefixCls + 'message'}>{args.message}</p> |
|
|
|
|
|
|
|
<p className={prefixCls + 'description'}>{args.description}</p> |
|
|
|
<span className={prefixCls + 'btn'}> |
|
|
|
{args.btn} |
|
|
@ -79,14 +85,27 @@ function notice(args) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
export default { |
|
|
|
var api = { |
|
|
|
open(args){ |
|
|
|
notice(args); |
|
|
|
}, |
|
|
|
close(key){ |
|
|
|
notificationInstance.removeNotice(key); |
|
|
|
if (notificationInstance) { |
|
|
|
notificationInstance.removeNotice(key); |
|
|
|
} |
|
|
|
}, |
|
|
|
config(options) { |
|
|
|
top = isNaN(options.top) ? 24 : options.top; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
['success', 'info', 'warn', 'error'].forEach((type)=> { |
|
|
|
api[type] = (args) => { |
|
|
|
var newArgs = assign({}, args, { |
|
|
|
icon: type |
|
|
|
}); |
|
|
|
return api.open(newArgs); |
|
|
|
}; |
|
|
|
}); |
|
|
|
|
|
|
|
export default api; |
|
|
|