image upload from chat

This commit is contained in:
2015-04-19 20:28:15 +02:00
parent af06153cff
commit 111676108d
11 changed files with 195 additions and 78 deletions

View File

@@ -24,12 +24,17 @@
</div>
<div id="chat_input" class="round">
<form id="chat_form" name="chat_form">
<i id="message_img" class="fa fa-fw fa-20 fa-c-comment"></i><input type="text" id="message" name="message" value="" maxlength="500" autofocus />
<input type="hidden" id="chan" name="chan" value="" maxlength="50" />
</form>
</div>
</div>
<div id="template" class="hide">
<div id="message_input">
<i id="message_img" class="fa fa-fw fa-20 fa-c-comment"></i>
<input type="text" id="message" name="message" value="" maxlength="500" autofocus />
<input type="hidden" id="chan" name="chan" value="" maxlength="50" />
<i id="upload_img" class="fa fa-fw fa-20 fa-c-image"></i>
</div>
<div id="help" class="help tiny_round">
<p class="title">Manuel d'utilisation</p>
<p class="title righty">&nbsp;<span id="close_help" class="clickable"><i class="fa fa-30 fa-c-close"></i></span></p>
@@ -93,7 +98,7 @@ databap.pageInit = function()
//Bind message box key events
databap.getMainElem('#chat_form').submit(function(e){e.preventDefault();});
$MsgInput.bind('keydown', function(e){if(e.which == 9)e.preventDefault();});
$MsgInput.keyup(function(event){add_message(event);});
$MsgInput.keyup(function(e){keyController(e);});
//Loading the chat
self.initScrollBar('#chat_container', '#chat_messages_box', '#chat_messages');
@@ -114,6 +119,9 @@ databap.pageInit = function()
//Init sidebar events
initSideBar();
//Setup Image upload
initImageUpload();
//Init's end
databap.setInitEnd(true);
};
@@ -124,7 +132,7 @@ databap.onResize = function()
self.setScrollBarSize('maximize');
//Message Input
$('#message').width($('#chat_input').width() - $('#message_img').outerWidth(true)- 1);
//$('#message').width($('#chat_input').width() - $('#message_img').outerWidth(true)- 1);
};
//Disconnect from the chat
@@ -143,6 +151,49 @@ databap.onKeyDown = function(e)
else databap.tmp('refresh', false);
};
function initImageUpload()
{
//load Uploader
self.tmp('uploader', new qq.FileUploader
(
{
element: document.getElementById('chat_form'),
action: databap.getActionLink('upload_image'),
allowedExtensions: databap.consts.authorized_img_exts,
sizeLimit: parseInt(databap.consts.max_size)*100,
template: '<div class="uploader_box">' +
'<div class="uploader_droparea round">' +
'<span>Glisser les images ici</span>' +
'</div>' +
'<a class="uploader_button hide"></a>' +
'<div class="uploader_buffer hide"></div>' +
'<ul id="uploader_list" class="uploader_list hide"></ul>' +
'</div>',
onComplete:function(id, fileName, result)
{
if(result.success==true)
{
postMessage('/img '+result.file_path+result.file_name);
}
},
onProgress:function(id, fileName, loaded, total)
{
databap.feedback('success', 'Télécharge: '+(loaded/total*100)+'%', true);
},
showMessage:function(sMsg)
{
databap.feedback('error', sMsg);
},
debug: false,
stepId: 1
}
));
$('.uploader_box').append($('#message_input').children());
//prompt file explorer
$('#upload_img').click(function(){$('#c1_file').click();});
}
function initSideBar()
{
//Sidebar Events
@@ -503,7 +554,42 @@ function quitChan(sChanKeyName)
else databap.addFailIcon('Ceci est le dernier chan');
}
function add_message(e)
function postMessage(sMsg)
{
sMsg = sMsg || '';
var bSuccess = true;
if(databap.tmp('sending_msg') == true)
{
databap.feedback('warning', 'Pas si pressé ! J\'ai pas encore envoyé le dernier message');
bSuccess = false;
}
else
{
if(sMsg!='')
{
databap.tmp('msg_buffer', $('#message').val());
$('#message').val(sMsg);
}
databap.tmp('sending_msg', true);
databap.saveForm
(
'add_message',
databap.getMainElem('#chat_form'),
function(oData)
{
databap.tmp('sending_msg', false);
if(oData.result==databap.consts.error) databap.feedback('error', oData.desc);
else refresh_chat();
},
true,
'json'
);
if(sMsg!='') $('#message').val(databap.tmp('msg_buffer'));
}
return bSuccess;
}
function keyController(e)
{
if(e.keyCode != 9) databap.tmp('tab_info', {}); //See case 9, tab
switch(e.keyCode)
@@ -516,31 +602,7 @@ function add_message(e)
else if(chat_message.substr(0, 7) == '/quit #') quitChan(getChanKeyName(chat_message.substr(7)));
else if(chat_message == '/help') displayHelp();
else if(chat_message.substr(0, 8) == '/invite ') invite($.trim(chat_message.substr(8)), currentChan());
else if(chat_message != '' && databap.tmp('sending_msg') == false) //send
{
if(databap.tmp('sending_msg') == true)
{
databap.feedback('warning', 'Pas si pressé ! J\'ai pas encore envoyé le dernier message');
bSuccess = false;
}
else
{
databap.tmp('sending_msg', true);
databap.saveForm
(
'add_message',
databap.getMainElem('#chat_form'),
function(oData)
{
databap.tmp('sending_msg', false);
if(oData.result==databap.consts.error) databap.feedback('error', oData.desc);
else refresh_chat();
},
true,
'json'
);
}
}
else if(chat_message != '') bSuccess = postMessage();
if(bSuccess)
{