diff --git a/packages/rocketchat-action-links/both/lib/actionLinks.js b/packages/rocketchat-action-links/both/lib/actionLinks.js index 96c619a760e..1ca27418a05 100644 --- a/packages/rocketchat-action-links/both/lib/actionLinks.js +++ b/packages/rocketchat-action-links/both/lib/actionLinks.js @@ -1,4 +1,6 @@ import { Meteor } from 'meteor/meteor'; +import { RocketChat } from 'meteor/rocketchat:lib'; + // Action Links namespace creation. RocketChat.actionLinks = { actions: {}, diff --git a/packages/rocketchat-action-links/client/index.js b/packages/rocketchat-action-links/client/index.js new file mode 100644 index 00000000000..fa97e5534dc --- /dev/null +++ b/packages/rocketchat-action-links/client/index.js @@ -0,0 +1,4 @@ +import '../both/lib/actionLinks'; +import './stylesheets/actionLinks.css'; +import './lib/actionLinks'; +import './init'; diff --git a/packages/rocketchat-action-links/client/init.js b/packages/rocketchat-action-links/client/init.js index bea7736137c..67332f38482 100644 --- a/packages/rocketchat-action-links/client/init.js +++ b/packages/rocketchat-action-links/client/init.js @@ -1,6 +1,7 @@ -/* globals fireGlobalEvent */ import { Blaze } from 'meteor/blaze'; import { Template } from 'meteor/templating'; +import { RocketChat, handleError } from 'meteor/rocketchat:lib'; +import { fireGlobalEvent } from 'meteor/rocketchat:ui'; Template.room.events({ 'click .action-link'(event, instance) { diff --git a/packages/rocketchat-action-links/client/lib/actionLinks.js b/packages/rocketchat-action-links/client/lib/actionLinks.js index 2dcee6384e1..fdda7759398 100644 --- a/packages/rocketchat-action-links/client/lib/actionLinks.js +++ b/packages/rocketchat-action-links/client/lib/actionLinks.js @@ -1,4 +1,5 @@ import { Meteor } from 'meteor/meteor'; +import { RocketChat, handleError } from 'meteor/rocketchat:lib'; // Action Links Handler. This method will be called off the client. RocketChat.actionLinks.run = (name, messageId, instance) => { diff --git a/packages/rocketchat-action-links/package.js b/packages/rocketchat-action-links/package.js index b1376bfc748..04a37d6dff1 100644 --- a/packages/rocketchat-action-links/package.js +++ b/packages/rocketchat-action-links/package.js @@ -6,18 +6,13 @@ Package.describe({ }); Package.onUse(function(api) { - api.use('ecmascript'); - api.use('templating'); - api.use('rocketchat:lib'); - api.use('rocketchat:theme'); - api.use('rocketchat:ui'); - - api.addFiles('both/lib/actionLinks.js'); - - api.addFiles('client/lib/actionLinks.js', 'client'); - api.addFiles('client/init.js', 'client'); - - api.addFiles('client/stylesheets/actionLinks.css', 'client'); - - api.addFiles('server/actionLinkHandler.js', 'server'); + api.use([ + 'ecmascript', + 'templating', + 'rocketchat:lib', + 'rocketchat:theme', + 'rocketchat:ui', + ]); + api.mainModule('client/index.js', 'client'); + api.mainModule('server/index.js', 'server'); }); diff --git a/packages/rocketchat-action-links/server/actionLinkHandler.js b/packages/rocketchat-action-links/server/actionLinkHandler.js index 93398625bdd..7fd102c2943 100644 --- a/packages/rocketchat-action-links/server/actionLinkHandler.js +++ b/packages/rocketchat-action-links/server/actionLinkHandler.js @@ -1,4 +1,5 @@ import { Meteor } from 'meteor/meteor'; +import { RocketChat } from 'meteor/rocketchat:lib'; // Action Links Handler. This method will be called off the client. Meteor.methods({ diff --git a/packages/rocketchat-action-links/server/index.js b/packages/rocketchat-action-links/server/index.js new file mode 100644 index 00000000000..8db8549e10d --- /dev/null +++ b/packages/rocketchat-action-links/server/index.js @@ -0,0 +1,2 @@ +import '../both/lib/actionLinks'; +import './actionLinkHandler'; diff --git a/client/lib/handleError.js b/packages/rocketchat-lib/client/lib/handleError.js similarity index 92% rename from client/lib/handleError.js rename to packages/rocketchat-lib/client/lib/handleError.js index b7301d7f0c7..04b523e6680 100644 --- a/client/lib/handleError.js +++ b/packages/rocketchat-lib/client/lib/handleError.js @@ -3,7 +3,7 @@ import _ from 'underscore'; import s from 'underscore.string'; import toastr from 'toastr'; -this.handleError = function(error, useToastr = true) { +handleError = function(error, useToastr = true) { if (_.isObject(error.details)) { for (const key in error.details) { if (error.details.hasOwnProperty(key)) { diff --git a/packages/rocketchat-lib/package.js b/packages/rocketchat-lib/package.js index 86d5176eb92..45e4bf360fb 100644 --- a/packages/rocketchat-lib/package.js +++ b/packages/rocketchat-lib/package.js @@ -221,6 +221,7 @@ Package.onUse(function(api) { api.addFiles('client/lib/roomTypes.js', 'client'); api.addFiles('client/lib/userRoles.js', 'client'); api.addFiles('client/lib/Layout.js', 'client'); + api.addFiles('client/lib/handleError.js', 'client'); // CLIENT LIB STARTUP api.addFiles('client/lib/startup/commands.js', 'client'); @@ -250,6 +251,7 @@ Package.onUse(function(api) { // EXPORT api.export('RocketChat'); + api.export('handleError', 'client'); // exports api.mainModule('server/lib/index.js', 'server'); diff --git a/packages/rocketchat-ui/client/lib/fireEvent.js b/packages/rocketchat-ui/client/lib/fireEvent.js index 0c0cc7b646f..aa3908c7052 100644 --- a/packages/rocketchat-ui/client/lib/fireEvent.js +++ b/packages/rocketchat-ui/client/lib/fireEvent.js @@ -1,6 +1,6 @@ import { Tracker } from 'meteor/tracker'; -window.fireGlobalEvent = function _fireGlobalEvent(eventName, params) { +fireGlobalEvent = function _fireGlobalEvent(eventName, params) { //eslint-disable-line window.dispatchEvent(new CustomEvent(eventName, { detail: params })); Tracker.autorun((computation) => { diff --git a/packages/rocketchat-ui/package.js b/packages/rocketchat-ui/package.js index aa3c4e272b6..3fe404b3cde 100644 --- a/packages/rocketchat-ui/package.js +++ b/packages/rocketchat-ui/package.js @@ -146,6 +146,7 @@ Package.onUse(function(api) { api.addFiles('client/components/contextualBar.js', 'client'); api.export('fileUpload'); - api.export('t'); - api.export('modal'); + api.export('t', 'client'); + api.export('modal', 'client'); + api.export('fireGlobalEvent', 'client'); });