The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/packages/rocketchat-lib
Gabriel Engel bab2ab3dba Merge branch 'develop' of github.com:RocketChat/Rocket.Chat into develop 10 years ago
..
client Remove selection of messages on roomExit 10 years ago
i18n Created and pushed by LingoHub. Project: 'Rocket.Chat' by User: 'gabriel.engel@gmail.com'. 10 years ago
lib Email selected messages 10 years ago
server added request debug messages 10 years ago
tests/jasmine/server/unit/models Adding basic tests for RocketChat.models._Base 10 years ago
README.md added some docs about Settings API 10 years ago
package.js Merge branch 'develop' of github.com:RocketChat/Rocket.Chat into develop 10 years ago
rocketchat.info version bump 10 years ago

README.md

Rocket.Chat main library

This package contains the main libraries of Rocket.Chat.

APIs

Settings

This is an example to create settings:

RocketChat.settings.addGroup('Settings_Group', function() {
    this.add('SettingInGroup', 'default_value', { type: 'boolean', public: true });

    this.section('Group_Section', function() {
        this.add('Setting_Inside_Section', 'default_value', {
            type: 'boolean', 
            public: true, 
            enableQuery: { 
                _id: 'SettingInGroup', 
                value: true 
            }
        });
    });
});

RocketChat.settings.add type:

  • string - Stores a string value
    • Additional options:
      • multiline: boolean
  • int - Stores an integer value
  • boolean - Stores a boolean value
  • select - Creates an <select> element
    • Additional options:
      • values: Array of: { key: 'value', i18nLabel: 'Option_Label' }
  • color - Creates a color pick element
  • action - Executes a Method.call to value
    • Additional options:
      • actionText: Translatable value of the button
  • asset - Creates an upload field

RocketChat.settings.add options:

  • description - Description of the setting
  • public - Boolean to set if the setting should be sent to client or not
  • enableQuery - Only enable this setting if the correspondent setting has the value specified
  • alert - Shows an alert message with the given text

roomTypes

You can create your own room type using (on the client):

RocketChat.roomTypes.add('l', 5, {
    template: 'livechat',
    icon: 'icon-chat-empty',
    route: {
        name: 'live',
        path: '/live/:name',
        action(params, queryParams) {
            Session.set('showUserInfo');
            openRoom('l', params.name);
        },
        link(sub)  {
            return { name: sub.name }
        }
    },
    permissions: [ 'view-l-room' ]
});

You'll need publish information about the new room with (on the server):

RocketChat.roomTypes.setPublish('l', (identifier) => {
    return RocketChat.models.Rooms.findByTypeAndName('l', identifier, {
        fields: {
            name: 1,
            t: 1,
            cl: 1,
            u: 1,
            usernames: 1,
            v: 1
        }
    });
});

AccountBox

You can add items to the left upper corner drop menu:

AccountBox.addItem({
    name: 'Livechat',
    icon: 'icon-chat-empty',
    class: 'livechat-manager',
    route: {
        name: 'livechat-manager',
        path: '/livechat-manager',
        action(params, queryParams) {
            Session.set('openedRoom');
            BlazeLayout.render('main', {
                center: 'page-container',
                pageTitle: 'Live Chat Manager',
                pageTemplate: 'livechat-manager'
            });
        }
    },
    permissions: ['view-livechat-manager']
});

Functions

Methods

Publications