From 8e9d619abf88c0a9232e16dcd2b76d9e6b722dd0 Mon Sep 17 00:00:00 2001 From: Marcos Spessatto Defendi <marcos.defendi@ulbra.inf.br> Date: Tue, 20 Nov 2018 20:29:21 -0200 Subject: [PATCH] Convert rocketchat-livestream to main module structure (#12679) * Exposing popout global variable * Convert rocketchat-livestream to main module structure * disable eslint in popout file * Adding file that was forgotten --- .../rocketchat-livestream/client/index.js | 10 ++++++++ .../rocketchat-livestream/client/oauth.js | 1 + .../rocketchat-livestream/client/tabBar.js | 1 + .../client/views/broadcastView.js | 1 + .../client/views/liveStreamTab.js | 5 ++-- packages/rocketchat-livestream/package.js | 25 +++---------------- .../server/functions/saveStreamingOptions.js | 1 + .../rocketchat-livestream/server/index.js | 3 +++ .../rocketchat-livestream/server/methods.js | 1 + .../server/models/Rooms.js | 2 ++ .../rocketchat-livestream/server/routes.js | 1 + .../rocketchat-livestream/server/settings.js | 1 + .../rocketchat-ui/client/views/app/popout.js | 4 +-- packages/rocketchat-ui/package.js | 1 + 14 files changed, 31 insertions(+), 26 deletions(-) create mode 100644 packages/rocketchat-livestream/client/index.js diff --git a/packages/rocketchat-livestream/client/index.js b/packages/rocketchat-livestream/client/index.js new file mode 100644 index 00000000000..b118255a4cb --- /dev/null +++ b/packages/rocketchat-livestream/client/index.js @@ -0,0 +1,10 @@ +import './styles/liveStreamTab.css'; +import './views/liveStreamTab.html'; +import './views/liveStreamTab'; +import './views/livestreamBroadcast.html'; +import './views/livestreamBroadcast'; +import './views/broadcastView.html'; +import './views/broadcastView'; +import './views/liveStreamView.html'; +import './views/liveStreamView'; +import './tabBar'; diff --git a/packages/rocketchat-livestream/client/oauth.js b/packages/rocketchat-livestream/client/oauth.js index acc674a30b8..eb9b5358be4 100644 --- a/packages/rocketchat-livestream/client/oauth.js +++ b/packages/rocketchat-livestream/client/oauth.js @@ -1,4 +1,5 @@ import { Meteor } from 'meteor/meteor'; +import { RocketChat } from 'meteor/rocketchat:lib'; export const close = (popup) => new Promise(function(resolve) { const checkInterval = setInterval(() => { diff --git a/packages/rocketchat-livestream/client/tabBar.js b/packages/rocketchat-livestream/client/tabBar.js index 4832c439b16..7741f96a3e3 100644 --- a/packages/rocketchat-livestream/client/tabBar.js +++ b/packages/rocketchat-livestream/client/tabBar.js @@ -1,6 +1,7 @@ import { Meteor } from 'meteor/meteor'; import { Tracker } from 'meteor/tracker'; import { Session } from 'meteor/session'; +import { RocketChat } from 'meteor/rocketchat:lib'; Meteor.startup(function() { Tracker.autorun(function() { diff --git a/packages/rocketchat-livestream/client/views/broadcastView.js b/packages/rocketchat-livestream/client/views/broadcastView.js index 578e041f3f0..e2feea2e05f 100644 --- a/packages/rocketchat-livestream/client/views/broadcastView.js +++ b/packages/rocketchat-livestream/client/views/broadcastView.js @@ -2,6 +2,7 @@ import { Meteor } from 'meteor/meteor'; import { ReactiveVar } from 'meteor/reactive-var'; import { Session } from 'meteor/session'; import { Template } from 'meteor/templating'; +import { RocketChat, handleError } from 'meteor/rocketchat:lib'; const getMedia = () => navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia; const createAndConnect = (url) => { diff --git a/packages/rocketchat-livestream/client/views/liveStreamTab.js b/packages/rocketchat-livestream/client/views/liveStreamTab.js index 80af0ee2b75..ebd843664b0 100644 --- a/packages/rocketchat-livestream/client/views/liveStreamTab.js +++ b/packages/rocketchat-livestream/client/views/liveStreamTab.js @@ -1,4 +1,3 @@ -/* globals popout */ import { Meteor } from 'meteor/meteor'; import { ReactiveVar } from 'meteor/reactive-var'; import { Blaze } from 'meteor/blaze'; @@ -7,8 +6,8 @@ import { Template } from 'meteor/templating'; import { TAPi18n } from 'meteor/tap:i18n'; import toastr from 'toastr'; import { auth } from '../oauth.js'; -import { RocketChatAnnouncement } from 'meteor/rocketchat:lib'; - +import { RocketChatAnnouncement, RocketChat, handleError } from 'meteor/rocketchat:lib'; +import { popout, t } from 'meteor/rocketchat:ui'; export const call = (...args) => new Promise(function(resolve, reject) { Meteor.call(...args, function(err, result) { diff --git a/packages/rocketchat-livestream/package.js b/packages/rocketchat-livestream/package.js index dc0ba5a76b7..6e2c55f39a0 100644 --- a/packages/rocketchat-livestream/package.js +++ b/packages/rocketchat-livestream/package.js @@ -6,31 +6,14 @@ Package.describe({ }); Package.onUse(function(api) { - api.use('templating', 'client'); api.use([ 'ecmascript', 'rocketchat:lib', + 'rocketchat:ui', + 'templating', ]); - api.addFiles([ - 'client/views/liveStreamTab.html', - 'client/views/livestreamBroadcast.html', - 'client/views/livestreamBroadcast.js', - 'client/views/liveStreamTab.js', - 'client/views/broadcastView.html', - 'client/views/broadcastView.js', - 'client/styles/liveStreamTab.css', - 'client/views/liveStreamView.html', - 'client/views/liveStreamView.js', - 'client/tabBar.js', - ], 'client'); - - api.addFiles([ - 'server/index.js', - 'server/models/Rooms.js', - 'server/functions/saveStreamingOptions.js', - 'server/settings.js', - ], 'server'); - + api.mainModule('client/index.js', 'client'); + api.mainModule('server/index.js', 'server'); Npm.depends({ googleapis: '25.0.0', }); diff --git a/packages/rocketchat-livestream/server/functions/saveStreamingOptions.js b/packages/rocketchat-livestream/server/functions/saveStreamingOptions.js index f215d28309e..f0a2d013a4d 100644 --- a/packages/rocketchat-livestream/server/functions/saveStreamingOptions.js +++ b/packages/rocketchat-livestream/server/functions/saveStreamingOptions.js @@ -1,5 +1,6 @@ import { Meteor } from 'meteor/meteor'; import { Match, check } from 'meteor/check'; +import { RocketChat } from 'meteor/rocketchat:lib'; RocketChat.saveStreamingOptions = function(rid, options) { if (!Match.test(rid, String)) { diff --git a/packages/rocketchat-livestream/server/index.js b/packages/rocketchat-livestream/server/index.js index 63ea14561bf..0f5c850442a 100644 --- a/packages/rocketchat-livestream/server/index.js +++ b/packages/rocketchat-livestream/server/index.js @@ -1,2 +1,5 @@ +import './models/Rooms'; +import './functions/saveStreamingOptions'; import './routes.js'; import './methods.js'; +import './settings'; diff --git a/packages/rocketchat-livestream/server/methods.js b/packages/rocketchat-livestream/server/methods.js index 66e9be9c090..3625c74ceb5 100644 --- a/packages/rocketchat-livestream/server/methods.js +++ b/packages/rocketchat-livestream/server/methods.js @@ -1,4 +1,5 @@ import { Meteor } from 'meteor/meteor'; +import { RocketChat } from 'meteor/rocketchat:lib'; import { createLiveStream, statusLiveStream, statusStreamLiveStream, getBroadcastStatus, setBroadcastStatus } from './functions/livestream'; const selectLivestreamSettings = (user) => user && user.settings && user.settings.livestream; diff --git a/packages/rocketchat-livestream/server/models/Rooms.js b/packages/rocketchat-livestream/server/models/Rooms.js index b0b7a3be672..24857be9004 100644 --- a/packages/rocketchat-livestream/server/models/Rooms.js +++ b/packages/rocketchat-livestream/server/models/Rooms.js @@ -1,3 +1,5 @@ +import { RocketChat } from 'meteor/rocketchat:lib'; + RocketChat.models.Rooms.setStreamingOptionsById = function(_id, streamingOptions) { const update = { $set: { diff --git a/packages/rocketchat-livestream/server/routes.js b/packages/rocketchat-livestream/server/routes.js index 07c43972fa7..5806dc03174 100644 --- a/packages/rocketchat-livestream/server/routes.js +++ b/packages/rocketchat-livestream/server/routes.js @@ -1,4 +1,5 @@ import { Meteor } from 'meteor/meteor'; +import { RocketChat } from 'meteor/rocketchat:lib'; import google from 'googleapis'; const { OAuth2 } = google.auth; diff --git a/packages/rocketchat-livestream/server/settings.js b/packages/rocketchat-livestream/server/settings.js index 9fc05da95eb..f5ba52b6343 100644 --- a/packages/rocketchat-livestream/server/settings.js +++ b/packages/rocketchat-livestream/server/settings.js @@ -1,4 +1,5 @@ import { Meteor } from 'meteor/meteor'; +import { RocketChat } from 'meteor/rocketchat:lib'; Meteor.startup(function() { RocketChat.settings.addGroup('LiveStream & Broadcasting', function() { diff --git a/packages/rocketchat-ui/client/views/app/popout.js b/packages/rocketchat-ui/client/views/app/popout.js index 7c51e042194..2450dd89225 100644 --- a/packages/rocketchat-ui/client/views/app/popout.js +++ b/packages/rocketchat-ui/client/views/app/popout.js @@ -1,9 +1,9 @@ -/* globals popout */ +/* eslint-disable */ import { Blaze } from 'meteor/blaze'; import { ReactiveVar } from 'meteor/reactive-var'; import { Template } from 'meteor/templating'; -this.popout = { +popout = { context: null, isAudioOnly: false, showVideoControls: true, diff --git a/packages/rocketchat-ui/package.js b/packages/rocketchat-ui/package.js index 48ca16184bc..0ac4021d77b 100644 --- a/packages/rocketchat-ui/package.js +++ b/packages/rocketchat-ui/package.js @@ -156,4 +156,5 @@ Package.onUse(function(api) { api.export('ChatMessages', 'client'); api.export('RoomManager', 'client'); api.export('getAvatarUrlFromUsername'); + api.export('popout', 'client'); }); -- GitLab