Merge pull request #8648 from RocketChat/fix-audio-message-icon

[FIX] Audio message icon
pull/8731/head
Rodrigo Nascimento 8 years ago
parent 9c75b7044f
commit 4c0f57a640
No known key found for this signature in database
GPG Key ID: CFCE33B7B01AC335
  1. 20
      packages/rocketchat-ui-message/startup/messageBoxActions.js
  2. 11
      packages/rocketchat-ui/client/views/app/popover.js

@ -1,4 +1,4 @@
/* globals fileUpload chatMessages AudioRecorder device */ /* globals fileUpload chatMessages AudioRecorder device popover */
import mime from 'mime-type/with-db'; import mime from 'mime-type/with-db';
import {VRecDialog} from 'meteor/rocketchat:ui-vrecord'; import {VRecDialog} from 'meteor/rocketchat:ui-vrecord';
@ -18,13 +18,15 @@ RocketChat.messageBox.actions.add('Create_new', 'Audio_message', {
condition: () => (navigator.getUserMedia || navigator.webkitGetUserMedia) && RocketChat.settings.get('FileUpload_Enabled') && RocketChat.settings.get('Message_AudioRecorderEnabled') && (!RocketChat.settings.get('FileUpload_MediaTypeWhiteList') || RocketChat.settings.get('FileUpload_MediaTypeWhiteList').match(/audio\/wav|audio\/\*/i)), condition: () => (navigator.getUserMedia || navigator.webkitGetUserMedia) && RocketChat.settings.get('FileUpload_Enabled') && RocketChat.settings.get('Message_AudioRecorderEnabled') && (!RocketChat.settings.get('FileUpload_MediaTypeWhiteList') || RocketChat.settings.get('FileUpload_MediaTypeWhiteList').match(/audio\/wav|audio\/\*/i)),
action({event, element}) { action({event, element}) {
event.preventDefault(); event.preventDefault();
const icon = element; const icon = element.querySelector('.rc-icon');
if (chatMessages[RocketChat.openedRoom].recording) { if (chatMessages[RocketChat.openedRoom].recording) {
return AudioRecorder.stop(function(blob) { AudioRecorder.stop(function(blob) {
popover.close();
icon.style.color = ''; icon.style.color = '';
icon.classList.remove('pulse'); icon.classList.remove('pulse');
chatMessages[RocketChat.openedRoom].recording = false; chatMessages[RocketChat.openedRoom].recording = false;
return fileUpload([ fileUpload([
{ {
file: blob, file: blob,
type: 'audio', type: 'audio',
@ -32,9 +34,11 @@ RocketChat.messageBox.actions.add('Create_new', 'Audio_message', {
} }
]); ]);
}); });
return false;
} }
chatMessages[RocketChat.openedRoom].recording = true; chatMessages[RocketChat.openedRoom].recording = true;
return AudioRecorder.start(function() { AudioRecorder.start(function() {
icon.classList.add('pulse'); icon.classList.add('pulse');
icon.style.color = 'red'; icon.style.color = 'red';
}); });
@ -71,7 +75,7 @@ RocketChat.messageBox.actions.add('Add_files_from', 'Computer', {
name: file.name name: file.name
}; };
}); });
return fileUpload(filesToUpload); fileUpload(filesToUpload);
}, {once: true}); }, {once: true});
input.remove(); input.remove();
@ -87,7 +91,7 @@ RocketChat.messageBox.actions.add('Share', 'My_location', {
const latitude = position.coords.latitude; const latitude = position.coords.latitude;
const longitude = position.coords.longitude; const longitude = position.coords.longitude;
const text = `<div class="location-preview"><img style="height: 250px; width: 250px;" src="https://maps.googleapis.com/maps/api/staticmap?zoom=14&size=250x250&markers=color:gray%7Clabel:%7C${ latitude },${ longitude }&key=${ RocketChat.settings.get('MapView_GMapsAPIKey') }" /></div>`; const text = `<div class="location-preview"><img style="height: 250px; width: 250px;" src="https://maps.googleapis.com/maps/api/staticmap?zoom=14&size=250x250&markers=color:gray%7Clabel:%7C${ latitude },${ longitude }&key=${ RocketChat.settings.get('MapView_GMapsAPIKey') }" /></div>`;
return swal({ swal({
title: t('Share_Location_Title'), title: t('Share_Location_Title'),
text, text,
showCancelButton: true, showCancelButton: true,
@ -98,7 +102,7 @@ RocketChat.messageBox.actions.add('Share', 'My_location', {
if (isConfirm !== true) { if (isConfirm !== true) {
return; return;
} }
return Meteor.call('sendMessage', { Meteor.call('sendMessage', {
_id: Random.id(), _id: Random.id(),
rid, rid,
msg: '', msg: '',

@ -6,6 +6,10 @@ this.popover = {
this.renderedPopover = Blaze.renderWithData(Template.popover, config, document.body); this.renderedPopover = Blaze.renderWithData(Template.popover, config, document.body);
}, },
close() { close() {
if (!this.renderedPopover) {
return false;
}
Blaze.remove(this.renderedPopover); Blaze.remove(this.renderedPopover);
const activeElement = this.renderedPopover.dataVar.curValue.activeElement; const activeElement = this.renderedPopover.dataVar.curValue.activeElement;
@ -81,10 +85,13 @@ Template.popover.onRendered(function() {
Template.popover.events({ Template.popover.events({
'click [data-type="messagebox-action"]'(event, t) { 'click [data-type="messagebox-action"]'(event, t) {
const action = RocketChat.messageBox.actions.getById(event.currentTarget.dataset.id); const id = event.currentTarget.dataset.id;
const action = RocketChat.messageBox.actions.getById(id);
if ((action[0] != null ? action[0].action : undefined) != null) { if ((action[0] != null ? action[0].action : undefined) != null) {
action[0].action({rid: t.data.data.rid, messageBox: document.querySelector('.rc-message-box'), element: event.currentTarget, event}); action[0].action({rid: t.data.data.rid, messageBox: document.querySelector('.rc-message-box'), element: event.currentTarget, event});
popover.close(); if (id !== 'audio-message') {
popover.close();
}
} }
}, },
'click [data-type="message-action"]'(e, t) { 'click [data-type="message-action"]'(e, t) {

Loading…
Cancel
Save