From d8bd57901e33a7057e26e782e295099ffcc0da89 Mon Sep 17 00:00:00 2001 From: Christopher Speller Date: Wed, 6 Sep 2017 23:04:13 -0700 Subject: Removing webapp --- .../user_settings/user_settings_theme.jsx | 362 --------------------- 1 file changed, 362 deletions(-) delete mode 100644 webapp/components/user_settings/user_settings_theme.jsx (limited to 'webapp/components/user_settings/user_settings_theme.jsx') diff --git a/webapp/components/user_settings/user_settings_theme.jsx b/webapp/components/user_settings/user_settings_theme.jsx deleted file mode 100644 index 871e3ccae..000000000 --- a/webapp/components/user_settings/user_settings_theme.jsx +++ /dev/null @@ -1,362 +0,0 @@ -// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -import $ from 'jquery'; -import ReactDOM from 'react-dom'; -import CustomThemeChooser from './custom_theme_chooser.jsx'; -import PremadeThemeChooser from './premade_theme_chooser.jsx'; -import SettingItemMin from '../setting_item_min.jsx'; -import SettingItemMax from '../setting_item_max.jsx'; - -import PreferenceStore from 'stores/preference_store.jsx'; -import TeamStore from 'stores/team_store.jsx'; -import UserStore from 'stores/user_store.jsx'; - -import AppDispatcher from '../../dispatcher/app_dispatcher.jsx'; -import * as UserActions from 'actions/user_actions.jsx'; - -import * as Utils from 'utils/utils.jsx'; - -import {FormattedMessage} from 'react-intl'; - -import {ActionTypes, Constants, Preferences} from 'utils/constants.jsx'; - -import PropTypes from 'prop-types'; - -import React from 'react'; - -export default class ThemeSetting extends React.Component { - constructor(props) { - super(props); - - this.onChange = this.onChange.bind(this); - this.submitTheme = this.submitTheme.bind(this); - this.updateTheme = this.updateTheme.bind(this); - this.resetFields = this.resetFields.bind(this); - this.handleImportModal = this.handleImportModal.bind(this); - - this.state = this.getStateFromStores(); - - this.originalTheme = Object.assign({}, this.state.theme); - } - - componentDidMount() { - UserStore.addChangeListener(this.onChange); - - if (this.props.selected) { - $(ReactDOM.findDOMNode(this.refs[this.state.theme])).addClass('active-border'); - } - } - - componentDidUpdate() { - if (this.props.selected) { - $('.color-btn').removeClass('active-border'); - $(ReactDOM.findDOMNode(this.refs[this.state.theme])).addClass('active-border'); - } - } - - componentWillReceiveProps(nextProps) { - if (this.props.selected && !nextProps.selected) { - this.resetFields(); - } - } - - componentWillUnmount() { - UserStore.removeChangeListener(this.onChange); - - if (this.props.selected) { - const state = this.getStateFromStores(); - Utils.applyTheme(state.theme); - } - } - - getStateFromStores() { - const teamId = TeamStore.getCurrentId(); - - const theme = PreferenceStore.getTheme(teamId); - if (!theme.codeTheme) { - theme.codeTheme = Constants.DEFAULT_CODE_THEME; - } - - let showAllTeamsCheckbox = false; - let applyToAllTeams = true; - - if (global.window.mm_license.IsLicensed === 'true' && global.window.mm_license.LDAP === 'true') { - // show the "apply to all teams" checkbox if the user is on more than one team - showAllTeamsCheckbox = Object.keys(TeamStore.getAll()).length > 1; - - // check the "apply to all teams" checkbox by default if the user has any team-specific themes - applyToAllTeams = PreferenceStore.getCategory(Preferences.CATEGORY_THEME).size <= 1; - } - - return { - teamId: TeamStore.getCurrentId(), - theme, - type: theme.type || 'premade', - showAllTeamsCheckbox, - applyToAllTeams - }; - } - - onChange() { - const newState = this.getStateFromStores(); - - if (!Utils.areObjectsEqual(this.state, newState)) { - this.setState(newState); - } - - this.props.setEnforceFocus(true); - } - - scrollToTop() { - $('.ps-container.modal-body').scrollTop(0); - } - - submitTheme(e) { - e.preventDefault(); - - const teamId = this.state.applyToAllTeams ? '' : this.state.teamId; - - UserActions.saveTheme( - teamId, - this.state.theme, - () => { - this.props.setRequireConfirm(false); - this.originalTheme = Object.assign({}, this.state.theme); - this.scrollToTop(); - this.props.updateSection(''); - } - ); - } - - updateTheme(theme) { - let themeChanged = this.state.theme.length === theme.length; - if (!themeChanged) { - for (const field in theme) { - if (theme.hasOwnProperty(field)) { - if (this.state.theme[field] !== theme[field]) { - themeChanged = true; - break; - } - } - } - } - - this.props.setRequireConfirm(themeChanged); - - this.setState({theme}); - Utils.applyTheme(theme); - } - - updateType(type) { - this.setState({type}); - } - - resetFields() { - const state = this.getStateFromStores(); - state.serverError = null; - this.setState(state); - this.scrollToTop(); - - Utils.applyTheme(state.theme); - - this.props.setRequireConfirm(false); - } - - handleImportModal() { - AppDispatcher.handleViewAction({ - type: ActionTypes.TOGGLE_IMPORT_THEME_MODAL, - value: true, - callback: this.updateTheme - }); - - this.props.setEnforceFocus(false); - } - - render() { - var serverError; - if (this.state.serverError) { - serverError = this.state.serverError; - } - - const displayCustom = this.state.type === 'custom'; - const allowCustomThemes = global.mm_config.AllowCustomThemes !== 'false'; - - let custom; - let premade; - if (displayCustom && allowCustomThemes) { - custom = ( -
- -
- ); - } else { - premade = ( -
-
- -
- ); - } - - let themeUI; - if (this.props.selected) { - const inputs = []; - - if (allowCustomThemes) { - inputs.push( -
- -
-
- ); - } - - inputs.push(premade); - - if (allowCustomThemes) { - inputs.push( -
- -
- ); - - inputs.push(custom); - - inputs.push( -
-
- - - -
- ); - - inputs.push( -
- - - -
- ); - } - - let allTeamsCheckbox = null; - if (this.state.showAllTeamsCheckbox) { - allTeamsCheckbox = ( -
- -
- ); - } - - themeUI = ( - { - this.props.updateSection(''); - e.preventDefault(); - }} - /> - ); - } else { - themeUI = ( - - } - describe={ - - } - updateSection={() => { - this.props.updateSection('theme'); - }} - /> - ); - } - - return themeUI; - } -} - -ThemeSetting.propTypes = { - selected: PropTypes.bool.isRequired, - updateSection: PropTypes.func.isRequired, - setRequireConfirm: PropTypes.func.isRequired, - setEnforceFocus: PropTypes.func.isRequired -}; -- cgit v1.2.3-1-g7c22