settings for livechat title and background color

pull/822/head^2
Diego Sampaio 10 years ago
parent b3e12a3c47
commit 06328ec00a
  1. 11
      packages/rocketchat-lib/settings/server/publication.coffee
  2. 1
      packages/rocketchat-livechat/app/client/lib/collections.coffee
  3. 1
      packages/rocketchat-livechat/app/client/stylesheets/main.less
  4. 10
      packages/rocketchat-livechat/app/client/views/room.coffee
  5. 4
      packages/rocketchat-livechat/app/client/views/room.html
  6. 5
      packages/rocketchat-livechat/config.js
  7. 4
      packages/rocketchat-livechat/i18n/en.i18n.json
  8. 4
      packages/rocketchat-livechat/i18n/pt.i18n.json
  9. 0
      packages/rocketchat-livechat/package-tap.i18n
  10. 17
      packages/rocketchat-livechat/package.js
  11. 1
      packages/rocketchat-livechat/rocket-livechat.js

@ -1,6 +1,13 @@
Meteor.publish 'settings', ->
Meteor.publish 'settings', (ids = []) ->
console.log '[publish] settings'.green
return Settings.find { public: true }, { fields: _id: 1, value: 1 }
filter =
public: true
if ids.length > 0
filter._id =
$in: ids
return Settings.find filter, { fields: _id: 1, value: 1 }
Meteor.publish 'admin-settings', ->
console.log '[publish] admin-settings'.green

@ -1,2 +1,3 @@
@ChatMessage = new Meteor.Collection null
@ChatRoom = new Meteor.Collection 'rocketchat_room'
@Settings = new Meteor.Collection 'rocketchat_settings'

@ -45,7 +45,6 @@ input:focus {
top: 0;
bottom: 0;
.title {
background-color: #C1272D;
border-top-right-radius: 5px;
border-top-left-radius: 5px;
color: #FFF;

@ -2,6 +2,14 @@ Template.room.helpers
messages: ->
return ChatMessage.find { rid: visitor.getRoom(), t: { '$ne': 't' } }, { sort: { ts: 1 } }
title: ->
return '' unless Template.instance().subscriptionsReady()
return Settings.findOne('Livechat_title')?.value or 'Rocket.Chat'
color: ->
return 'transparent' unless Template.instance().subscriptionsReady()
return Settings.findOne('Livechat_title_color')?.value or '#C1272D'
Template.room.events
'keyup .input-message': (event) ->
Template.instance().chatMessages.keyup(visitor.getRoom(), event, Template.instance())
@ -28,6 +36,8 @@ Template.room.onCreated ->
visitor.setRoom room._id
RoomHistoryManager.getMoreIfIsEmpty room._id
self.subscribe 'settings', ['Livechat_title', 'Livechat_title_color']
self.atBottom = true
Template.room.onRendered ->

@ -1,7 +1,7 @@
<template name="room">
<div class="livechat-room">
<div class="title">
<h1>Rocket.Chat</h1>
<div class="title" style="background-color:{{color}}">
<h1>{{title}}</h1>
</div>
<div class="messages">
<div class="wrapper">

@ -0,0 +1,5 @@
Meteor.startup(function() {
RocketChat.settings.addGroup('Livechat');
RocketChat.settings.add('Livechat_title' , 'Rocket.Chat', { type: 'string', group: 'Livechat', i18nLabel: 'rocketchat-livechat:Livechat_title', public: true });
RocketChat.settings.add('Livechat_title_color' , '#C1272D', { type: 'string', group: 'Livechat', i18nLabel: 'rocketchat-livechat:Livechat_title_color', public: true });
});

@ -0,0 +1,4 @@
{
"Livechat_title": "Livechat title",
"Livechat_title_color": "Livechat title background color"
}

@ -0,0 +1,4 @@
{
"Livechat_title": "Título Livechat",
"Livechat_title_color": "Cor de fundo do título do Livechat"
}

@ -15,17 +15,34 @@ Package.registerBuildPlugin({
}
});
// Loads all i18n.json files into tapi18nFiles
var _ = Npm.require('underscore');
var fs = Npm.require('fs');
tapi18nFiles = _.compact(_.map(fs.readdirSync('packages/rocketchat-livechat/i18n'), function(filename) {
if (fs.statSync('packages/rocketchat-livechat/i18n/' + filename).size > 16) {
return 'i18n/' + filename;
}
}));
Package.onUse(function(api) {
api.versionsFrom('1.0');
api.use(['coffeescript', 'webapp', 'autoupdate'], 'server');
api.use('templating', 'client');
api.use(["tap:i18n@1.5.1"], ["client", "server"]);
api.imply('tap:i18n');
api.addFiles("package-tap.i18n", ["client", "server"]);
api.addFiles('livechat.coffee', 'server');
api.addFiles('methods.coffee', 'server');
api.addFiles('publications.coffee', 'server');
api.addFiles('config.js', 'server');
api.addFiles('rocket-livechat.js', 'client', {isAsset: true});
api.addFiles('public/livechat.css', 'client', {isAsset: true});
api.addFiles('public/livechat.js', 'client', {isAsset: true});
api.addFiles('public/head.html', 'server', {isAsset: true});
api.addFiles(tapi18nFiles, ["client", "server"]);
});

@ -40,7 +40,6 @@
chatWidget.style.position = 'fixed';
chatWidget.style.width = '300px';
chatWidget.style.height = '30px';
chatWidget.style.backgroundColor = '#C1272D';
chatWidget.style.borderTopLeftRadius = '5px';
chatWidget.style.borderTopRightRadius = '5px';
chatWidget.style.bottom = '0';

Loading…
Cancel
Save