From dc2f2a800105b77e665ec2a00c6290f35b1a2ba3 Mon Sep 17 00:00:00 2001
From: Harrison Healey <harrisonmhealey@gmail.com>
Date: Tue, 5 Jul 2016 11:58:18 -0400
Subject: 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
---
 webapp/components/backstage/installed_commands.jsx | 100 ---------------------
 1 file changed, 100 deletions(-)
 delete mode 100644 webapp/components/backstage/installed_commands.jsx

(limited to 'webapp/components/backstage/installed_commands.jsx')

diff --git a/webapp/components/backstage/installed_commands.jsx b/webapp/components/backstage/installed_commands.jsx
deleted file mode 100644
index df1f56687..000000000
--- a/webapp/components/backstage/installed_commands.jsx
+++ /dev/null
@@ -1,100 +0,0 @@
-// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved.
-// See License.txt for license information.
-
-import React from 'react';
-
-import * as AsyncClient from 'utils/async_client.jsx';
-import IntegrationStore from 'stores/integration_store.jsx';
-import TeamStore from 'stores/team_store.jsx';
-import * as Utils from 'utils/utils.jsx';
-
-import {FormattedMessage} from 'react-intl';
-import InstalledCommand from './installed_command.jsx';
-import InstalledIntegrations from './installed_integrations.jsx';
-
-export default class InstalledCommands extends React.Component {
-    constructor(props) {
-        super(props);
-
-        this.handleIntegrationChange = this.handleIntegrationChange.bind(this);
-
-        this.regenCommandToken = this.regenCommandToken.bind(this);
-        this.deleteCommand = this.deleteCommand.bind(this);
-
-        const teamId = TeamStore.getCurrentId();
-
-        this.state = {
-            commands: IntegrationStore.getCommands(teamId),
-            loading: !IntegrationStore.hasReceivedCommands(teamId)
-        };
-    }
-
-    componentDidMount() {
-        IntegrationStore.addChangeListener(this.handleIntegrationChange);
-
-        if (window.mm_config.EnableCommands === 'true') {
-            AsyncClient.listTeamCommands();
-        }
-    }
-
-    componentWillUnmount() {
-        IntegrationStore.removeChangeListener(this.handleIntegrationChange);
-    }
-
-    handleIntegrationChange() {
-        const teamId = TeamStore.getCurrentId();
-
-        this.setState({
-            commands: IntegrationStore.getCommands(teamId),
-            loading: !IntegrationStore.hasReceivedCommands(teamId)
-        });
-    }
-
-    regenCommandToken(command) {
-        AsyncClient.regenCommandToken(command.id);
-    }
-
-    deleteCommand(command) {
-        AsyncClient.deleteCommand(command.id);
-    }
-
-    render() {
-        const commands = this.state.commands.map((command) => {
-            return (
-                <InstalledCommand
-                    key={command.id}
-                    command={command}
-                    onRegenToken={this.regenCommandToken}
-                    onDelete={this.deleteCommand}
-                />
-            );
-        });
-
-        return (
-            <InstalledIntegrations
-                header={
-                    <FormattedMessage
-                        id='installed_commands.header'
-                        defaultMessage='Installed Slash Commands'
-                    />
-                }
-                addText={
-                    <FormattedMessage
-                        id='installed_commands.add'
-                        defaultMessage='Add Slash Command'
-                    />
-                }
-                addLink={'/' + Utils.getTeamNameFromUrl() + '/settings/integrations/commands/add'}
-                emptyText={
-                    <FormattedMessage
-                        id='installed_commands.empty'
-                        defaultMessage='No slash commands found'
-                    />
-                }
-                loading={this.state.loading}
-            >
-                {commands}
-            </InstalledIntegrations>
-        );
-    }
-}
-- 
cgit v1.2.3-1-g7c22

