MDL-21400 converted message JS to new coding style, I was unable to test this because th UI is a bit borked now

This commit is contained in:
Petr Skoda 2010-02-06 12:38:07 +00:00
parent 789ff38c47
commit 5f3bf83fd5
5 changed files with 34 additions and 41 deletions

View File

@ -168,11 +168,7 @@ function message_print_contacts() {
echo '<br />';
$autorefresh = '<p align="center" class="note">'.get_string('pagerefreshes', 'message', $CFG->message_contacts_refresh).'</p>';
$autorefresh = addslashes_js($autorefresh); // js escaping
$PAGE->requires->js('/message/message.js');
$PAGE->requires->js_function_call('refresh_page', Array(60*1000, $PAGE->url->out()));
$PAGE->requires->js_init_call('M.core_message.init_refresh_page', array(60*1000, $PAGE->url->out(false)));
echo $OUTPUT->container_start('messagejsautorefresh note center');
echo get_string('pagerefreshes', 'message', $CFG->message_contacts_refresh);

View File

@ -1,30 +0,0 @@
function set_focus(eid) {
document.getElementById(eid).focus();
}
function refresh_parent_messages_frame() {
if (chatmessages.msgcount>0) {
for (var i=0; i < chatmessages.msgcount; i++) {
add_message(chatmessages.msg[i])
}
}
parent.messages.scroll(1,5000000);
parent.send.focus();
}
function add_message(messagestr) {
var messageblock = parent.messages.document.getElementById('messages');
var message = document.createElement('div');
message.innerHTML = messagestr;
messageblock.appendChild(message);
}
var urltorefreshto = '';
function refresh_page(delay, url) {
urltorefreshto = url;
setTimeout(callback_refresh_page, delay);
}
function callback_refresh_page() {
document.location.replace(urltorefreshto);
}

30
message/module.js Normal file
View File

@ -0,0 +1,30 @@
M.core_message = {};
M.core_message.init_focus = function(Y.eid) {
document.getElementById(eid).focus();
}
M.core_message.init_refresh_parent_frame = function(Y, msgcount, msg) {
var add_message = function (messagestr) {
var messageblock = parent.messages.document.getElementById('messages');
var message = document.createElement('div');
message.innerHTML = messagestr;
messageblock.appendChild(message);
}
if (msgcount>0) {
for (var i=0; i < msgcount; i++) {
add_message(msg[i])
}
}
parent.messages.scroll(1,5000000);
parent.send.focus();
}
M.core_message.init_refresh_page = function(Y, delay, url) {
var delay_callback = function() {
document.location.replace(url);
}
setTimeout(delay_callback, delay);
}

View File

@ -76,9 +76,7 @@ if ($messages ) {
}
}
$PAGE->requires->js('/message/message.js')->in_head();
$PAGE->requires->js_function_call('refresh_parent_messages_frame');
$PAGE->requires->data_for_js('chatmessages', Array('msgcount'=>count($jsmessages), 'msg'=>$jsmessages))->in_head();
$PAGE->requires->js_init_call('M.core_message.init_refresh_parent_frame', array($jsmessages, $jsmessages));
echo $OUTPUT->header();
if (!empty($playbeep)) {
@ -87,7 +85,7 @@ if (!empty($playbeep)) {
}
// Javascript for Mozilla to cope with the redirect bug from editor being on in this page
$PAGE->requires->js_function_call('refresh_page', Array(($wait*1000), "refresh.php?id=$userid&name=".urlencode($userfullname)."&wait=$wait"));
$PAGE->requires->js_init_call('M.core_message.init_refresh_page', array(($wait*1000), "refresh.php?id=$userid&name=".urlencode($userfullname)."&wait=$wait"));
echo $OUTPUT->footer();

View File

@ -39,7 +39,6 @@ if (has_capability('moodle/site:sendmessage', get_context_instance(CONTEXT_SYSTE
$PAGE->set_pagelayout('popup');
$PAGE->set_title('send');
$PAGE->requires->js('/message/message.js');
/// Script parameters
$userid = required_param('id', PARAM_INT);
@ -120,7 +119,7 @@ if (has_capability('moodle/site:sendmessage', get_context_instance(CONTEXT_SYSTE
echo $OUTPUT->link($accesslink);
echo $OUTPUT->box_end();
$PAGE->requires->js_function_call('set_focus', Array('id_message_editor'));
$PAGE->requires->js_init_call('M.core_message.init_focus', array('id_message_editor'));
echo $OUTPUT->footer();
}