summaryrefslogtreecommitdiffstats
path: root/webapp/routes/route_team.jsx
diff options
context:
space:
mode:
authorHarrison Healey <harrisonmhealey@gmail.com>2016-07-05 11:58:18 -0400
committerJoram Wilander <jwawilander@gmail.com>2016-07-05 11:58:18 -0400
commitdc2f2a800105b77e665ec2a00c6290f35b1a2ba3 (patch)
tree82f23c2e72a7c785f55c2d6c1c35c10c16994918 /webapp/routes/route_team.jsx
parenta65f1fc266f15eaa8f79541d4d11440c3d356bb6 (diff)
downloadchat-dc2f2a800105b77e665ec2a00c6290f35b1a2ba3.tar.gz
chat-dc2f2a800105b77e665ec2a00c6290f35b1a2ba3.tar.bz2
chat-dc2f2a800105b77e665ec2a00c6290f35b1a2ba3.zip
PLT-3145 Custom Emojis (#3381)
* Reorganized Backstage code to use a view controller and separated it from integrations code * Renamed InstalledIntegrations component to BackstageList * Added EmojiList page * Added AddEmoji page * Added custom emoji to autocomplete and text formatter * Moved system emoji to EmojiStore * Stopped trying to get emoji before logging in * Rerender posts when emojis change * Fixed submit handler on backstage pages to properly support enter * Removed debugging code * Updated javascript driver * Fixed unit tests * Fixed backstage routes * Added clientside validation to prevent users from creating an emoji with the same name as a system one * Fixed AddEmoji page to properly redirect when an emoji is created successfully * Fixed updating emoji list when an emoji is deleted * Added type prop to BackstageList to properly support using a table for the list * Added help text to EmojiList * Fixed backstage on smaller screen sizes * Disable custom emoji by default * Improved restrictions on creating emojis * Fixed non-admin users seeing the option to delete each other's emojis * Fixing gofmt * Fixed emoji unit tests * Fixed trying to get emoji from the server when it's disabled
Diffstat (limited to 'webapp/routes/route_team.jsx')
-rw-r--r--webapp/routes/route_team.jsx85
1 files changed, 44 insertions, 41 deletions
diff --git a/webapp/routes/route_team.jsx b/webapp/routes/route_team.jsx
index 7025ecb99..cb4f09ae4 100644
--- a/webapp/routes/route_team.jsx
+++ b/webapp/routes/route_team.jsx
@@ -15,6 +15,9 @@ import Client from 'utils/web_client.jsx';
import * as Utils from 'utils/utils.jsx';
import ChannelStore from 'stores/channel_store.jsx';
+import emojiRoute from 'routes/route_emoji.jsx';
+import integrationsRoute from 'routes/route_integrations.jsx';
+
function onChannelEnter(nextState, replace, callback) {
doChannelChange(nextState, replace, callback);
}
@@ -120,52 +123,52 @@ function onPermalinkEnter(nextState) {
export default {
path: ':team',
- getComponents: (location, callback) => {
- System.import('components/needs_team.jsx').then(RouteUtils.importComponentSuccess(callback));
- },
onEnter: preNeedsTeam,
indexRoute: {onEnter: (nextState, replace) => replace('/' + nextState.params.team + '/channels/town-square')},
childRoutes: [
+ integrationsRoute,
+ emojiRoute,
{
- path: 'channels/:channel',
- onEnter: onChannelEnter,
- getComponents: (location, callback) => {
- Promise.all([
- System.import('components/sidebar.jsx'),
- System.import('components/channel_view.jsx')
- ]).then(
- (comarr) => callback(null, {sidebar: comarr[0].default, center: comarr[1].default})
- );
- }
- },
- {
- path: 'pl/:postid',
- onEnter: onPermalinkEnter,
getComponents: (location, callback) => {
- Promise.all([
- System.import('components/sidebar.jsx'),
- System.import('components/permalink_view.jsx')
- ]).then(
- (comarr) => callback(null, {sidebar: comarr[0].default, center: comarr[1].default})
- );
- }
- },
- {
- path: 'tutorial',
- getComponents: (location, callback) => {
- Promise.all([
- System.import('components/sidebar.jsx'),
- System.import('components/tutorial/tutorial_view.jsx')
- ]).then(
- (comarr) => callback(null, {sidebar: comarr[0].default, center: comarr[1].default})
- );
- }
- },
- {
- path: 'settings',
- getChildRoutes: (location, callback) => {
- System.import('routes/route_integrations.jsx').then((comp) => callback(null, [comp.default]));
- }
+ System.import('components/needs_team.jsx').then(RouteUtils.importComponentSuccess(callback));
+ },
+ childRoutes: [
+ {
+ path: 'channels/:channel',
+ onEnter: onChannelEnter,
+ getComponents: (location, callback) => {
+ Promise.all([
+ System.import('components/sidebar.jsx'),
+ System.import('components/channel_view.jsx')
+ ]).then(
+ (comarr) => callback(null, {sidebar: comarr[0].default, center: comarr[1].default})
+ );
+ }
+ },
+ {
+ path: 'pl/:postid',
+ onEnter: onPermalinkEnter,
+ getComponents: (location, callback) => {
+ Promise.all([
+ System.import('components/sidebar.jsx'),
+ System.import('components/permalink_view.jsx')
+ ]).then(
+ (comarr) => callback(null, {sidebar: comarr[0].default, center: comarr[1].default})
+ );
+ }
+ },
+ {
+ path: 'tutorial',
+ getComponents: (location, callback) => {
+ Promise.all([
+ System.import('components/sidebar.jsx'),
+ System.import('components/tutorial/tutorial_view.jsx')
+ ]).then(
+ (comarr) => callback(null, {sidebar: comarr[0].default, center: comarr[1].default})
+ );
+ }
+ }
+ ]
}
]
};