converted messageAttachent coffee to js

pull/6500/head
Guilherme Gazzo 9 years ago
parent 9508f2cb44
commit 69b9d3d49f
  1. 63
      packages/rocketchat-message-attachments/client/messageAttachment.coffee
  2. 80
      packages/rocketchat-message-attachments/client/messageAttachment.js
  3. 2
      packages/rocketchat-message-attachments/package.js

@ -1,63 +0,0 @@
import moment from 'moment'
fixCordova = (url) ->
if url?.indexOf('data:image') is 0
return url
if Meteor.isCordova and url?[0] is '/'
url = Meteor.absoluteUrl().replace(/\/$/, '') + url
query = "rc_uid=#{Meteor.userId()}&rc_token=#{Meteor._localStorage.getItem('Meteor.loginToken')}"
if url.indexOf('?') is -1
url = url + '?' + query
else
url = url + '&' + query
if Meteor.settings.public.sandstorm or url.match /^(https?:)?\/\//i
return url
else if navigator.userAgent.indexOf('Electron') > -1
return __meteor_runtime_config__.ROOT_URL_PATH_PREFIX + url
else
return Meteor.absoluteUrl().replace(/\/$/, '') + __meteor_runtime_config__.ROOT_URL_PATH_PREFIX + url
Template.messageAttachment.helpers
fixCordova: fixCordova
parsedText: ->
renderMessageBody { msg: this.text }
loadImage: ->
if Meteor.user()?.settings?.preferences?.autoImageLoad is false and this.downloadImages? is not true
return false
if Meteor.Device.isPhone() and Meteor.user()?.settings?.preferences?.saveMobileBandwidth and this.downloadImages? is not true
return false
return true
getImageHeight: (height) ->
return height or 200
color: ->
switch @color
when 'good' then return '#35AC19'
when 'warning' then return '#FCB316'
when 'danger' then return '#D30230'
else return @color
collapsed: ->
if this.collapsed?
return this.collapsed
else
return Meteor.user()?.settings?.preferences?.collapseMediaByDefault is true
time: ->
messageDate = new Date(@ts)
today = new Date()
if messageDate.toDateString() is today.toDateString()
return moment(@ts).format(RocketChat.settings.get('Message_TimeFormat'))
else
return moment(@ts).format(RocketChat.settings.get('Message_TimeAndDateFormat'))
injectIndex: (data, previousIndex, index) ->
data.index = previousIndex + '.attachments.' + index
return

@ -0,0 +1,80 @@
import moment from 'moment';
const fixCordova = function(url) {
let query;
if (url && url.indexOf('data:image') === 0) {
return url;
}
if (Meteor.isCordova && (url && url[0] === '/')) {
url = Meteor.absoluteUrl().replace(/\/$/, '') + url;
query = `rc_uid=${ Meteor.userId() }&rc_token=${ Meteor._localStorage.getItem('Meteor.loginToken') }`;
if (url.indexOf('?') === -1) {
url = `${ url }?${ query }`;
} else {
url = `${ url }&${ query }`;
}
}
if (Meteor.settings['public'].sandstorm || url.match(/^(https?:)?\/\//i)) {
return url;
} else if (navigator.userAgent.indexOf('Electron') > -1) {
return __meteor_runtime_config__.ROOT_URL_PATH_PREFIX + url;
} else {
return Meteor.absoluteUrl().replace(/\/$/, '') + __meteor_runtime_config__.ROOT_URL_PATH_PREFIX + url;
}
};
/*globals renderMessageBody*/
Template.messageAttachment.helpers({
fixCordova,
parsedText() {
return renderMessageBody({
msg: this.text
});
},
loadImage() {
const user = Meteor.user();
if (user && user.settings && user.settings.preferences && this.downloadImages !== true) {
if (user.settings.preferences.autoImageLoad === false) {
return false;
}
if (Meteor.Device.isPhone() && user.settings.preferences.saveMobileBandwidth !== true) {
return false;
}
}
return true;
},
getImageHeight(height) {
return height || 200;
},
color() {
switch (this.color) {
case 'good':
return '#35AC19';
case 'warning':
return '#FCB316';
case 'danger':
return '#D30230';
default:
return this.color;
}
},
collapsed() {
if (this.collapsed != null) {
return this.collapsed;
} else {
const user = Meteor.user();
return user && user.settings && user.settings.preferences && user.settings.preferences.collapseMediaByDefault === true;
}
},
time() {
const messageDate = new Date(this.ts);
const today = new Date();
if (messageDate.toDateString() === today.toDateString()) {
return moment(this.ts).format(RocketChat.settings.get('Message_TimeFormat'));
} else {
return moment(this.ts).format(RocketChat.settings.get('Message_TimeAndDateFormat'));
}
},
injectIndex(data, previousIndex, index) {
data.index = `${ previousIndex }.attachments.${ index }`;
}
});

@ -16,7 +16,7 @@ Package.onUse(function(api) {
]);
api.addFiles('client/messageAttachment.html', 'client');
api.addFiles('client/messageAttachment.coffee', 'client');
api.addFiles('client/messageAttachment.js', 'client');
// stylesheets
api.addFiles('client/stylesheets/messageAttachments.less', 'client');

Loading…
Cancel
Save