1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const async_1 = require("async");
|
4 | const fs_1 = require("fs");
|
5 | const settings = require("./settings");
|
6 | const plugins = require("./plugins");
|
7 | exports.plugins = plugins;
|
8 | const parse = require("./parse");
|
9 | exports.parse = parse;
|
10 | const build_1 = require("./build");
|
11 | const pubsub_1 = require("./pubsub");
|
12 | const controllers_1 = require("./controllers");
|
13 | require("./customizations");
|
14 | const nconf = require.main.require('nconf');
|
15 | const db = require.main.require('./src/database');
|
16 | const buster = require.main.require('./src/meta').config['cache-buster'];
|
17 | const init = (params, callback) => {
|
18 | controllers_1.default(params);
|
19 | async_1.waterfall([
|
20 | settings.get,
|
21 | ({ parseAscii, parseNative }, next) => {
|
22 |
|
23 | parse.setOptions({
|
24 | ascii: parseAscii,
|
25 | native: parseNative,
|
26 | });
|
27 |
|
28 | if (nconf.any('build_emoji', 'BUILD_EMOJI')) {
|
29 | next(null, true);
|
30 | return;
|
31 | }
|
32 |
|
33 | fs_1.access(build_1.tableFile, (err) => {
|
34 | if (err && err.code !== 'ENOENT') {
|
35 | return next(err);
|
36 | }
|
37 | next(null, !!err);
|
38 | });
|
39 | },
|
40 | (shouldBuild, next) => {
|
41 | if (shouldBuild) {
|
42 | pubsub_1.build(next);
|
43 | }
|
44 | else {
|
45 | next();
|
46 | }
|
47 | },
|
48 | ], callback);
|
49 | };
|
50 | exports.init = init;
|
51 | const adminMenu = (header, callback) => {
|
52 | header.plugins.push({
|
53 | route: '/plugins/emoji',
|
54 | icon: 'fa-smile-o',
|
55 | name: 'Emoji',
|
56 | });
|
57 | callback(null, header);
|
58 | };
|
59 | exports.adminMenu = adminMenu;
|
60 | const composerFormatting = (data, callback) => {
|
61 | data.options.push({
|
62 | name: 'emoji-add-emoji',
|
63 | className: 'fa fa-smile-o emoji-add-emoji',
|
64 | title: '[[emoji:composer.title]]',
|
65 | });
|
66 | callback(null, data);
|
67 | };
|
68 | exports.composerFormatting = composerFormatting;
|
69 | const addStylesheet = (data, callback) => {
|
70 | const rel = nconf.get('relative_path');
|
71 | data.links.push({
|
72 | rel: 'stylesheet',
|
73 | href: `${rel}/plugins/nodebb-plugin-emoji/emoji/styles.css?${buster}`,
|
74 | });
|
75 | callback(null, data);
|
76 | };
|
77 | exports.addStylesheet = addStylesheet;
|
78 |
|
\ | No newline at end of file |