From fb2d0da29b92efc9ec628d46339bb72304843f5c Mon Sep 17 00:00:00 2001 From: Marcos Spessatto Defendi Date: Fri, 16 Nov 2018 09:59:30 -0200 Subject: [PATCH] Convert rocketchat-emoji-custom to main module structure (#12604) * Exposing RoomManager and SIdenav from rocketchat-ui * Convert rocketchat-emoji-custom to main module structure * Fix RocketChatFileEmojiCustomInstance export variable --- .../{ => client}/admin/adminEmoji.html | 0 .../{ => client}/admin/adminEmoji.js | 3 +- .../{ => client}/admin/adminEmojiEdit.html | 0 .../{ => client}/admin/adminEmojiInfo.html | 0 .../{ => client}/admin/emojiEdit.html | 0 .../{ => client}/admin/emojiEdit.js | 2 + .../{ => client}/admin/emojiInfo.html | 0 .../{ => client}/admin/emojiInfo.js | 2 + .../{ => client}/admin/emojiPreview.html | 0 .../{ => client}/admin/route.js | 0 .../{ => client}/admin/startup.js | 2 + .../rocketchat-emoji-custom/client/index.js | 16 ++++ .../client/lib/emojiCustom.js | 74 +++++++++---------- .../{ => client/lib}/function-isSet.js | 7 +- .../client/models/EmojiCustom.js | 2 + .../client/notifications/deleteEmojiCustom.js | 3 +- .../client/notifications/updateEmojiCustom.js | 3 +- packages/rocketchat-emoji-custom/package.js | 44 +---------- .../rocketchat-emoji-custom/server/index.js | 8 ++ .../server/methods/deleteEmojiCustom.js | 3 +- .../server/methods/insertOrUpdateEmoji.js | 3 +- .../server/methods/listEmojiCustom.js | 1 + .../server/methods/uploadEmojiCustom.js | 4 +- .../server/models/EmojiCustom.js | 2 + .../server/publications/fullEmojiData.js | 1 + .../server/startup/emoji-custom.js | 8 +- .../server/startup/settings.js | 2 + .../rocketchat-ui/client/lib/RoomManager.js | 1 - packages/rocketchat-ui/client/lib/sideNav.js | 2 +- packages/rocketchat-ui/package.js | 1 + 30 files changed, 102 insertions(+), 92 deletions(-) rename packages/rocketchat-emoji-custom/{ => client}/admin/adminEmoji.html (100%) rename packages/rocketchat-emoji-custom/{ => client}/admin/adminEmoji.js (96%) rename packages/rocketchat-emoji-custom/{ => client}/admin/adminEmojiEdit.html (100%) rename packages/rocketchat-emoji-custom/{ => client}/admin/adminEmojiInfo.html (100%) rename packages/rocketchat-emoji-custom/{ => client}/admin/emojiEdit.html (100%) rename packages/rocketchat-emoji-custom/{ => client}/admin/emojiEdit.js (97%) rename packages/rocketchat-emoji-custom/{ => client}/admin/emojiInfo.html (100%) rename packages/rocketchat-emoji-custom/{ => client}/admin/emojiInfo.js (96%) rename packages/rocketchat-emoji-custom/{ => client}/admin/emojiPreview.html (100%) rename packages/rocketchat-emoji-custom/{ => client}/admin/route.js (100%) rename packages/rocketchat-emoji-custom/{ => client}/admin/startup.js (77%) create mode 100644 packages/rocketchat-emoji-custom/client/index.js rename packages/rocketchat-emoji-custom/{ => client/lib}/function-isSet.js (70%) create mode 100644 packages/rocketchat-emoji-custom/server/index.js diff --git a/packages/rocketchat-emoji-custom/admin/adminEmoji.html b/packages/rocketchat-emoji-custom/client/admin/adminEmoji.html similarity index 100% rename from packages/rocketchat-emoji-custom/admin/adminEmoji.html rename to packages/rocketchat-emoji-custom/client/admin/adminEmoji.html diff --git a/packages/rocketchat-emoji-custom/admin/adminEmoji.js b/packages/rocketchat-emoji-custom/client/admin/adminEmoji.js similarity index 96% rename from packages/rocketchat-emoji-custom/admin/adminEmoji.js rename to packages/rocketchat-emoji-custom/client/admin/adminEmoji.js index 2db75346b815..b73fe2b8829a 100644 --- a/packages/rocketchat-emoji-custom/admin/adminEmoji.js +++ b/packages/rocketchat-emoji-custom/client/admin/adminEmoji.js @@ -1,8 +1,9 @@ import { ReactiveVar } from 'meteor/reactive-var'; -import { RocketChatTabBar } from 'meteor/rocketchat:lib'; +import { RocketChat, RocketChatTabBar } from 'meteor/rocketchat:lib'; import { Tracker } from 'meteor/tracker'; import { FlowRouter } from 'meteor/kadira:flow-router'; import { Template } from 'meteor/templating'; +import { SideNav } from 'meteor/rocketchat:ui'; import s from 'underscore.string'; Template.adminEmoji.helpers({ diff --git a/packages/rocketchat-emoji-custom/admin/adminEmojiEdit.html b/packages/rocketchat-emoji-custom/client/admin/adminEmojiEdit.html similarity index 100% rename from packages/rocketchat-emoji-custom/admin/adminEmojiEdit.html rename to packages/rocketchat-emoji-custom/client/admin/adminEmojiEdit.html diff --git a/packages/rocketchat-emoji-custom/admin/adminEmojiInfo.html b/packages/rocketchat-emoji-custom/client/admin/adminEmojiInfo.html similarity index 100% rename from packages/rocketchat-emoji-custom/admin/adminEmojiInfo.html rename to packages/rocketchat-emoji-custom/client/admin/adminEmojiInfo.html diff --git a/packages/rocketchat-emoji-custom/admin/emojiEdit.html b/packages/rocketchat-emoji-custom/client/admin/emojiEdit.html similarity index 100% rename from packages/rocketchat-emoji-custom/admin/emojiEdit.html rename to packages/rocketchat-emoji-custom/client/admin/emojiEdit.html diff --git a/packages/rocketchat-emoji-custom/admin/emojiEdit.js b/packages/rocketchat-emoji-custom/client/admin/emojiEdit.js similarity index 97% rename from packages/rocketchat-emoji-custom/admin/emojiEdit.js rename to packages/rocketchat-emoji-custom/client/admin/emojiEdit.js index fd9501347045..0509ab70713e 100644 --- a/packages/rocketchat-emoji-custom/admin/emojiEdit.js +++ b/packages/rocketchat-emoji-custom/client/admin/emojiEdit.js @@ -1,6 +1,8 @@ import { Meteor } from 'meteor/meteor'; import { Template } from 'meteor/templating'; import { TAPi18n } from 'meteor/tap:i18n'; +import { handleError } from 'meteor/rocketchat:lib'; +import { t } from 'meteor/rocketchat:ui'; import toastr from 'toastr'; import s from 'underscore.string'; diff --git a/packages/rocketchat-emoji-custom/admin/emojiInfo.html b/packages/rocketchat-emoji-custom/client/admin/emojiInfo.html similarity index 100% rename from packages/rocketchat-emoji-custom/admin/emojiInfo.html rename to packages/rocketchat-emoji-custom/client/admin/emojiInfo.html diff --git a/packages/rocketchat-emoji-custom/admin/emojiInfo.js b/packages/rocketchat-emoji-custom/client/admin/emojiInfo.js similarity index 96% rename from packages/rocketchat-emoji-custom/admin/emojiInfo.js rename to packages/rocketchat-emoji-custom/client/admin/emojiInfo.js index f1d37568ff9c..17c35f3ad577 100644 --- a/packages/rocketchat-emoji-custom/admin/emojiInfo.js +++ b/packages/rocketchat-emoji-custom/client/admin/emojiInfo.js @@ -1,6 +1,8 @@ import { Meteor } from 'meteor/meteor'; import { ReactiveVar } from 'meteor/reactive-var'; import { Template } from 'meteor/templating'; +import { handleError } from 'meteor/rocketchat:lib'; +import { t, modal } from 'meteor/rocketchat:ui'; Template.emojiInfo.helpers({ name() { diff --git a/packages/rocketchat-emoji-custom/admin/emojiPreview.html b/packages/rocketchat-emoji-custom/client/admin/emojiPreview.html similarity index 100% rename from packages/rocketchat-emoji-custom/admin/emojiPreview.html rename to packages/rocketchat-emoji-custom/client/admin/emojiPreview.html diff --git a/packages/rocketchat-emoji-custom/admin/route.js b/packages/rocketchat-emoji-custom/client/admin/route.js similarity index 100% rename from packages/rocketchat-emoji-custom/admin/route.js rename to packages/rocketchat-emoji-custom/client/admin/route.js diff --git a/packages/rocketchat-emoji-custom/admin/startup.js b/packages/rocketchat-emoji-custom/client/admin/startup.js similarity index 77% rename from packages/rocketchat-emoji-custom/admin/startup.js rename to packages/rocketchat-emoji-custom/client/admin/startup.js index e093ace48a45..0d6b232eb9a5 100644 --- a/packages/rocketchat-emoji-custom/admin/startup.js +++ b/packages/rocketchat-emoji-custom/client/admin/startup.js @@ -1,3 +1,5 @@ +import { RocketChat } from 'meteor/rocketchat:lib'; + RocketChat.AdminBox.addOption({ href: 'emoji-custom', i18nLabel: 'Custom_Emoji', diff --git a/packages/rocketchat-emoji-custom/client/index.js b/packages/rocketchat-emoji-custom/client/index.js new file mode 100644 index 000000000000..5cd9dc55dd4c --- /dev/null +++ b/packages/rocketchat-emoji-custom/client/index.js @@ -0,0 +1,16 @@ +import '../assets/stylesheets/emojiCustomAdmin.css'; +import './models/EmojiCustom'; +import './lib/emojiCustom'; +import './notifications/deleteEmojiCustom'; +import './notifications/updateEmojiCustom'; +import './admin/startup'; +import './admin/adminEmoji.html'; +import './admin/adminEmoji'; +import './admin/adminEmojiEdit.html'; +import './admin/adminEmojiInfo.html'; +import './admin/emojiEdit.html'; +import './admin/emojiEdit'; +import './admin/emojiInfo.html'; +import './admin/emojiInfo'; +import './admin/emojiPreview.html'; +import './admin/route'; diff --git a/packages/rocketchat-emoji-custom/client/lib/emojiCustom.js b/packages/rocketchat-emoji-custom/client/lib/emojiCustom.js index f9073d2a33db..ca927a938fa5 100644 --- a/packages/rocketchat-emoji-custom/client/lib/emojiCustom.js +++ b/packages/rocketchat-emoji-custom/client/lib/emojiCustom.js @@ -1,40 +1,11 @@ -/* globals getEmojiUrlFromName:true, updateEmojiCustom:true, deleteEmojiCustom:true, isSetNotNull */ import { Meteor } from 'meteor/meteor'; import { Blaze } from 'meteor/blaze'; import { Session } from 'meteor/session'; +import { RocketChat } from 'meteor/rocketchat:lib'; +import { isSetNotNull } from '../lib/function-isSet'; +import { RoomManager } from 'meteor/rocketchat:ui'; -RocketChat.emoji.packages.emojiCustom = { - emojiCategories: { rocket: 'Custom' }, - toneList: {}, - list: [], - - render(html) { - const regShortNames = new RegExp(`]*>.*?<\/object>|]*>.*?<\/span>|<(?:object|embed|svg|img|div|span|p|a)[^>]*>|(${ RocketChat.emoji.packages.emojiCustom.list.join('|') })`, 'gi'); - - // replace regular shortnames first - html = html.replace(regShortNames, function(shortname) { - // console.log('shortname (preif) ->', shortname, html); - if ((typeof shortname === 'undefined') || (shortname === '') || (RocketChat.emoji.packages.emojiCustom.list.indexOf(shortname) === -1)) { - // if the shortname doesnt exist just return the entire match - return shortname; - } else { - let emojiAlias = shortname.replace(/:/g, ''); - - let dataCheck = RocketChat.emoji.list[shortname]; - if (dataCheck.hasOwnProperty('aliasOf')) { - emojiAlias = dataCheck.aliasOf; - dataCheck = RocketChat.emoji.list[`:${ emojiAlias }:`]; - } - - return `${ shortname }`; - } - }); - - return html; - }, -}; - -getEmojiUrlFromName = function(name, extension) { +export const getEmojiUrlFromName = function(name, extension) { Session.get; const key = `emoji_random_${ name }`; @@ -53,7 +24,7 @@ getEmojiUrlFromName = function(name, extension) { Blaze.registerHelper('emojiUrlFromName', getEmojiUrlFromName); -deleteEmojiCustom = function(emojiData) { +export const deleteEmojiCustom = function(emojiData) { delete RocketChat.emoji.list[`:${ emojiData.name }:`]; const arrayIndex = RocketChat.emoji.packages.emojiCustom.emojisByCategory.rocket.indexOf(emojiData.name); if (arrayIndex !== -1) { @@ -75,7 +46,7 @@ deleteEmojiCustom = function(emojiData) { RocketChat.EmojiPicker.updateRecent(); }; -updateEmojiCustom = function(emojiData) { +export const updateEmojiCustom = function(emojiData) { let key = `emoji_random_${ emojiData.name }`; Session.set(key, Math.round(Math.random() * 1000)); @@ -151,6 +122,37 @@ updateEmojiCustom = function(emojiData) { RocketChat.EmojiPicker.updateRecent(); }; +RocketChat.emoji.packages.emojiCustom = { + emojiCategories: { rocket: 'Custom' }, + toneList: {}, + list: [], + + render(html) { + const regShortNames = new RegExp(`]*>.*?<\/object>|]*>.*?<\/span>|<(?:object|embed|svg|img|div|span|p|a)[^>]*>|(${ RocketChat.emoji.packages.emojiCustom.list.join('|') })`, 'gi'); + + // replace regular shortnames first + html = html.replace(regShortNames, function(shortname) { + // console.log('shortname (preif) ->', shortname, html); + if ((typeof shortname === 'undefined') || (shortname === '') || (RocketChat.emoji.packages.emojiCustom.list.indexOf(shortname) === -1)) { + // if the shortname doesnt exist just return the entire match + return shortname; + } else { + let emojiAlias = shortname.replace(/:/g, ''); + + let dataCheck = RocketChat.emoji.list[shortname]; + if (dataCheck.hasOwnProperty('aliasOf')) { + emojiAlias = dataCheck.aliasOf; + dataCheck = RocketChat.emoji.list[`:${ emojiAlias }:`]; + } + + return `${ shortname }`; + } + }); + + return html; + }, +}; + Meteor.startup(() => RocketChat.CachedCollectionManager.onLogin(() => { Meteor.call('listEmojiCustom', (error, result) => { @@ -171,5 +173,3 @@ Meteor.startup(() => }); }) ); - -/* exported getEmojiUrlFromName, updateEmojiCustom, deleteEmojiCustom */ diff --git a/packages/rocketchat-emoji-custom/function-isSet.js b/packages/rocketchat-emoji-custom/client/lib/function-isSet.js similarity index 70% rename from packages/rocketchat-emoji-custom/function-isSet.js rename to packages/rocketchat-emoji-custom/client/lib/function-isSet.js index 4181bb827f2f..1dd2e6e7e8a0 100644 --- a/packages/rocketchat-emoji-custom/function-isSet.js +++ b/packages/rocketchat-emoji-custom/client/lib/function-isSet.js @@ -1,6 +1,5 @@ -/* globals isSet:true, isSetNotNull:true */ // http://stackoverflow.com/a/26990347 function isSet() from Gajus -isSet = function(fn) { +export const isSet = function(fn) { let value; try { value = fn(); @@ -11,7 +10,7 @@ isSet = function(fn) { } }; -isSetNotNull = function(fn) { +export const isSetNotNull = function(fn) { let value; try { value = fn(); @@ -21,5 +20,3 @@ isSetNotNull = function(fn) { return value !== null && value !== undefined; } }; - -/* exported isSet, isSetNotNull */ diff --git a/packages/rocketchat-emoji-custom/client/models/EmojiCustom.js b/packages/rocketchat-emoji-custom/client/models/EmojiCustom.js index c9a99a80cbfe..79794f59848e 100644 --- a/packages/rocketchat-emoji-custom/client/models/EmojiCustom.js +++ b/packages/rocketchat-emoji-custom/client/models/EmojiCustom.js @@ -1,3 +1,5 @@ +import { RocketChat } from 'meteor/rocketchat:lib'; + class EmojiCustom extends RocketChat.models._Base { constructor() { super(); diff --git a/packages/rocketchat-emoji-custom/client/notifications/deleteEmojiCustom.js b/packages/rocketchat-emoji-custom/client/notifications/deleteEmojiCustom.js index d41d54ef7dee..bcff8efd765e 100644 --- a/packages/rocketchat-emoji-custom/client/notifications/deleteEmojiCustom.js +++ b/packages/rocketchat-emoji-custom/client/notifications/deleteEmojiCustom.js @@ -1,5 +1,6 @@ -/* globals deleteEmojiCustom */ import { Meteor } from 'meteor/meteor'; +import { RocketChat } from 'meteor/rocketchat:lib'; +import { deleteEmojiCustom } from '../lib/emojiCustom'; Meteor.startup(() => RocketChat.Notifications.onLogged('deleteEmojiCustom', (data) => deleteEmojiCustom(data.emojiData)) diff --git a/packages/rocketchat-emoji-custom/client/notifications/updateEmojiCustom.js b/packages/rocketchat-emoji-custom/client/notifications/updateEmojiCustom.js index ccf55478b603..f6e33743339d 100644 --- a/packages/rocketchat-emoji-custom/client/notifications/updateEmojiCustom.js +++ b/packages/rocketchat-emoji-custom/client/notifications/updateEmojiCustom.js @@ -1,5 +1,6 @@ -/* globals updateEmojiCustom */ import { Meteor } from 'meteor/meteor'; +import { RocketChat } from 'meteor/rocketchat:lib'; +import { updateEmojiCustom } from '../lib/emojiCustom'; Meteor.startup(() => RocketChat.Notifications.onLogged('updateEmojiCustom', (data) => updateEmojiCustom(data.emojiData)) diff --git a/packages/rocketchat-emoji-custom/package.js b/packages/rocketchat-emoji-custom/package.js index df2e3f18b8e8..abf831b6dbb7 100644 --- a/packages/rocketchat-emoji-custom/package.js +++ b/packages/rocketchat-emoji-custom/package.js @@ -13,46 +13,10 @@ Package.onUse(function(api) { 'rocketchat:lib', 'templating', 'webapp', + 'kadira:flow-router', + 'kadira:blaze-layout', ]); - api.use('kadira:flow-router', 'client'); - api.use('kadira:blaze-layout', 'client'); - - api.addFiles('function-isSet.js'); - - api.addFiles('server/startup/emoji-custom.js', 'server'); - api.addFiles('server/startup/settings.js', 'server'); - - api.addFiles('server/models/EmojiCustom.js', 'server'); - api.addFiles('server/publications/fullEmojiData.js', 'server'); - - api.addFiles([ - 'server/methods/listEmojiCustom.js', - 'server/methods/deleteEmojiCustom.js', - 'server/methods/insertOrUpdateEmoji.js', - 'server/methods/uploadEmojiCustom.js', - ], 'server'); - - api.addFiles('assets/stylesheets/emojiCustomAdmin.css', 'client'); - - api.addFiles([ - 'admin/startup.js', - 'admin/adminEmoji.html', - 'admin/adminEmoji.js', - 'admin/adminEmojiEdit.html', - 'admin/adminEmojiInfo.html', - 'admin/emojiPreview.html', - 'admin/emojiEdit.html', - 'admin/emojiEdit.js', - 'admin/emojiInfo.html', - 'admin/emojiInfo.js', - 'admin/route.js', - ], 'client'); - - api.addFiles([ - 'client/lib/emojiCustom.js', - 'client/models/EmojiCustom.js', - 'client/notifications/updateEmojiCustom.js', - 'client/notifications/deleteEmojiCustom.js', - ], 'client'); + api.mainModule('client/index.js', 'client'); + api.mainModule('server/index.js', 'server'); }); diff --git a/packages/rocketchat-emoji-custom/server/index.js b/packages/rocketchat-emoji-custom/server/index.js new file mode 100644 index 000000000000..cc0b89be8d5b --- /dev/null +++ b/packages/rocketchat-emoji-custom/server/index.js @@ -0,0 +1,8 @@ +import './startup/emoji-custom'; +import './startup/settings'; +import './models/EmojiCustom'; +import './publications/fullEmojiData'; +import './methods/listEmojiCustom'; +import './methods/deleteEmojiCustom'; +import './methods/insertOrUpdateEmoji'; +import './methods/uploadEmojiCustom'; diff --git a/packages/rocketchat-emoji-custom/server/methods/deleteEmojiCustom.js b/packages/rocketchat-emoji-custom/server/methods/deleteEmojiCustom.js index 5c8d2c2d9298..38d4b6c6ee15 100644 --- a/packages/rocketchat-emoji-custom/server/methods/deleteEmojiCustom.js +++ b/packages/rocketchat-emoji-custom/server/methods/deleteEmojiCustom.js @@ -1,5 +1,6 @@ -/* globals RocketChatFileEmojiCustomInstance */ import { Meteor } from 'meteor/meteor'; +import { RocketChat } from 'meteor/rocketchat:lib'; +import { RocketChatFileEmojiCustomInstance } from '../startup/emoji-custom'; Meteor.methods({ deleteEmojiCustom(emojiID) { diff --git a/packages/rocketchat-emoji-custom/server/methods/insertOrUpdateEmoji.js b/packages/rocketchat-emoji-custom/server/methods/insertOrUpdateEmoji.js index 64814530a593..09112918bb5b 100644 --- a/packages/rocketchat-emoji-custom/server/methods/insertOrUpdateEmoji.js +++ b/packages/rocketchat-emoji-custom/server/methods/insertOrUpdateEmoji.js @@ -1,5 +1,6 @@ -/* globals RocketChatFileEmojiCustomInstance */ import { Meteor } from 'meteor/meteor'; +import { RocketChat } from 'meteor/rocketchat:lib'; +import { RocketChatFileEmojiCustomInstance } from '../startup/emoji-custom'; import _ from 'underscore'; import s from 'underscore.string'; diff --git a/packages/rocketchat-emoji-custom/server/methods/listEmojiCustom.js b/packages/rocketchat-emoji-custom/server/methods/listEmojiCustom.js index 4217fe8adc29..55a9bd6afc65 100644 --- a/packages/rocketchat-emoji-custom/server/methods/listEmojiCustom.js +++ b/packages/rocketchat-emoji-custom/server/methods/listEmojiCustom.js @@ -1,4 +1,5 @@ import { Meteor } from 'meteor/meteor'; +import { RocketChat } from 'meteor/rocketchat:lib'; Meteor.methods({ listEmojiCustom() { diff --git a/packages/rocketchat-emoji-custom/server/methods/uploadEmojiCustom.js b/packages/rocketchat-emoji-custom/server/methods/uploadEmojiCustom.js index dbdbecf7363c..a99da17ffa23 100644 --- a/packages/rocketchat-emoji-custom/server/methods/uploadEmojiCustom.js +++ b/packages/rocketchat-emoji-custom/server/methods/uploadEmojiCustom.js @@ -1,5 +1,7 @@ -/* globals RocketChatFileEmojiCustomInstance */ import { Meteor } from 'meteor/meteor'; +import { RocketChat } from 'meteor/rocketchat:lib'; +import { RocketChatFile } from 'meteor/rocketchat:file'; +import { RocketChatFileEmojiCustomInstance } from '../startup/emoji-custom'; Meteor.methods({ uploadEmojiCustom(binaryContent, contentType, emojiData) { diff --git a/packages/rocketchat-emoji-custom/server/models/EmojiCustom.js b/packages/rocketchat-emoji-custom/server/models/EmojiCustom.js index 43d1136e12fe..babaf960fba0 100644 --- a/packages/rocketchat-emoji-custom/server/models/EmojiCustom.js +++ b/packages/rocketchat-emoji-custom/server/models/EmojiCustom.js @@ -1,3 +1,5 @@ +import { RocketChat } from 'meteor/rocketchat:lib'; + class EmojiCustom extends RocketChat.models._Base { constructor() { super('custom_emoji'); diff --git a/packages/rocketchat-emoji-custom/server/publications/fullEmojiData.js b/packages/rocketchat-emoji-custom/server/publications/fullEmojiData.js index 76b260ec5db8..daffef5d2b52 100644 --- a/packages/rocketchat-emoji-custom/server/publications/fullEmojiData.js +++ b/packages/rocketchat-emoji-custom/server/publications/fullEmojiData.js @@ -1,4 +1,5 @@ import { Meteor } from 'meteor/meteor'; +import { RocketChat } from 'meteor/rocketchat:lib'; import s from 'underscore.string'; Meteor.publish('fullEmojiData', function(filter, limit) { diff --git a/packages/rocketchat-emoji-custom/server/startup/emoji-custom.js b/packages/rocketchat-emoji-custom/server/startup/emoji-custom.js index 1a8c3aa50a43..7d4ea3b7906c 100644 --- a/packages/rocketchat-emoji-custom/server/startup/emoji-custom.js +++ b/packages/rocketchat-emoji-custom/server/startup/emoji-custom.js @@ -1,8 +1,11 @@ -/* globals RocketChatFileEmojiCustomInstance */ import { Meteor } from 'meteor/meteor'; import { WebApp } from 'meteor/webapp'; +import { RocketChat } from 'meteor/rocketchat:lib'; +import { RocketChatFile } from 'meteor/rocketchat:file'; import _ from 'underscore'; +export let RocketChatFileEmojiCustomInstance; + Meteor.startup(function() { let storeType = 'GridFS'; @@ -25,11 +28,12 @@ Meteor.startup(function() { } } - this.RocketChatFileEmojiCustomInstance = new RocketChatStore({ + RocketChatFileEmojiCustomInstance = new RocketChatStore({ name: 'custom_emoji', absolutePath: path, }); + return WebApp.connectHandlers.use('/emoji-custom/', Meteor.bindEnvironment(function(req, res/* , next*/) { const params = { emoji: decodeURIComponent(req.url.replace(/^\//, '').replace(/\?.*$/, '')) }; diff --git a/packages/rocketchat-emoji-custom/server/startup/settings.js b/packages/rocketchat-emoji-custom/server/startup/settings.js index 41c2bd36b887..2b3e516e8e84 100644 --- a/packages/rocketchat-emoji-custom/server/startup/settings.js +++ b/packages/rocketchat-emoji-custom/server/startup/settings.js @@ -1,3 +1,5 @@ +import { RocketChat } from 'meteor/rocketchat:lib'; + RocketChat.settings.addGroup('EmojiCustomFilesystem', function() { this.add('EmojiUpload_Storage_Type', 'GridFS', { type: 'select', diff --git a/packages/rocketchat-ui/client/lib/RoomManager.js b/packages/rocketchat-ui/client/lib/RoomManager.js index 9b1df2de6c2f..9bfad667ac5a 100644 --- a/packages/rocketchat-ui/client/lib/RoomManager.js +++ b/packages/rocketchat-ui/client/lib/RoomManager.js @@ -309,7 +309,6 @@ Tracker.autorun(function() { } }); -export { RoomManager }; RocketChat.callbacks.add('afterLogoutCleanUp', () => RoomManager.closeAllRooms(), RocketChat.callbacks.priority.MEDIUM, 'roommanager-after-logout-cleanup'); RocketChat.CachedCollectionManager.onLogin(() => { diff --git a/packages/rocketchat-ui/client/lib/sideNav.js b/packages/rocketchat-ui/client/lib/sideNav.js index 4003a2337cec..cda0d349974c 100644 --- a/packages/rocketchat-ui/client/lib/sideNav.js +++ b/packages/rocketchat-ui/client/lib/sideNav.js @@ -1,7 +1,7 @@ import { FlowRouter } from 'meteor/kadira:flow-router'; import { Session } from 'meteor/session'; -this.SideNav = new class { +SideNav = new class { //eslint-disable-line constructor() { this.initiated = false; this.sideNav = {}; diff --git a/packages/rocketchat-ui/package.js b/packages/rocketchat-ui/package.js index fbe9b6d1135f..27354fce8147 100644 --- a/packages/rocketchat-ui/package.js +++ b/packages/rocketchat-ui/package.js @@ -152,6 +152,7 @@ Package.onUse(function(api) { api.export('ChatRoom', 'client'); api.export('ChatSubscription', 'client'); api.export('RoomRoles', 'client'); + api.export('SideNav', 'client'); api.export('ChatMessages', 'client'); api.export('RoomManager', 'client'); });