mirror of
https://github.com/moodle/moodle.git
synced 2025-02-22 10:57:20 +01:00
This commit takes all modals which were not using the legacy ModalFactory.create triggers and migrates them to the new Modal.create method.
10 lines
2.3 KiB
JavaScript
10 lines
2.3 KiB
JavaScript
define("core_message/message_send_bulk",["exports","core/str","core/modal_save_cancel","core/templates","core/modal_events","core/ajax","core/notification"],(function(_exports,_str,_modal_save_cancel,_templates,_modal_events,_ajax,_notification){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}
|
|
/**
|
|
* Send bulk message to the given user ids.
|
|
*
|
|
* @module core_message/message_send_bulk
|
|
* @copyright 2019 Shamim Rezaie <shamim@moodle.com>
|
|
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
|
*/Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.showModal=_exports.sendMessage=void 0,_modal_save_cancel=_interopRequireDefault(_modal_save_cancel),_templates=_interopRequireDefault(_templates),_modal_events=_interopRequireDefault(_modal_events),_ajax=_interopRequireDefault(_ajax),_notification=_interopRequireDefault(_notification);_exports.showModal=function(users){let callback=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!users.length)return Promise.resolve();let titlePromise=null;return titlePromise=1==users.length?(0,_str.get_string)("sendbulkmessagesingle","core_message"):(0,_str.get_string)("sendbulkmessage","core_message",users.length),_modal_save_cancel.default.create({body:_templates.default.render("core_message/send_bulk_message",{}),title:titlePromise,show:!0,buttons:{save:titlePromise}}).then((function(modal){return modal.getRoot().on(_modal_events.default.hidden,(function(){callback&&callback(),modal.getRoot().remove()})),modal.getRoot().on(_modal_events.default.save,(function(){let messageText=modal.getRoot().find("form textarea").val();sendMessage(messageText,users)})),modal}))};const sendMessage=(messageText,users)=>{let messages=[];return users.forEach((user=>{messages.push({touserid:user,text:messageText})})),_ajax.default.call([{methodname:"core_message_send_instant_messages",args:{messages:messages}}])[0].then((function(messageIds){return 1==messageIds.length?(0,_str.get_string)("sendbulkmessagesentsingle","core_message"):(0,_str.get_string)("sendbulkmessagesent","core_message",messageIds.length)})).then((function(msg){return _notification.default.addNotification({message:msg,type:"success"}),!0})).catch(_notification.default.exception)};_exports.sendMessage=sendMessage}));
|
|
|
|
//# sourceMappingURL=message_send_bulk.min.js.map
|