From 12896bd23eeba79884245c1c29fdc568cf21a7fa Mon Sep 17 00:00:00 2001 From: Christopher Speller Date: Mon, 14 Mar 2016 08:50:46 -0400 Subject: Converting to Webpack. Stage 1. --- webapp/utils/constants.jsx | 572 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 572 insertions(+) create mode 100644 webapp/utils/constants.jsx (limited to 'webapp/utils/constants.jsx') diff --git a/webapp/utils/constants.jsx b/webapp/utils/constants.jsx new file mode 100644 index 000000000..32123e369 --- /dev/null +++ b/webapp/utils/constants.jsx @@ -0,0 +1,572 @@ +// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +import keyMirror from 'keymirror'; + +import audioIcon from 'images/icons/audio.png'; +import videoIcon from 'images/icons/video.png'; +import excelIcon from 'images/icons/excel.png'; +import pptIcon from 'images/icons/ppt.png'; +import pdfIcon from 'images/icons/pdf.png'; +import codeIcon from 'images/icons/code.png'; +import wordIcon from 'images/icons/word.png'; +import patchIcon from 'images/icons/patch.png'; +import genericIcon from 'images/icons/generic.png'; + +import logoImage from 'images/logo_compact.png'; + +import solarizedDarkCSS from '!!file?name=files/code_themes/[hash].[ext]!highlight.js/styles/solarized-dark.css'; +import solarizedDarkIcon from 'images/themes/code_themes/solarized-dark.png'; + +import solarizedLightCSS from '!!file?name=files/code_themes/[hash].[ext]!highlight.js/styles/solarized-light.css'; +import solarizedLightIcon from 'images/themes/code_themes/solarized-light.png'; + +import githubCSS from '!!file?name=files/code_themes/[hash].[ext]!highlight.js/styles/github.css'; +import githubIcon from 'images/themes/code_themes/github.png'; + +import monokaiCSS from '!!file?name=files/code_themes/[hash].[ext]!highlight.js/styles/monokai.css'; +import monokaiIcon from 'images/themes/code_themes/monokai.png'; + +import defaultThemeImage from 'images/themes/organization.png'; +import mattermostDarkThemeImage from 'images/themes/mattermost_dark.png'; +import mattermostThemeImage from 'images/themes/mattermost.png'; +import windows10ThemeImage from 'images/themes/windows_dark.png'; + +export default { + ActionTypes: keyMirror({ + RECEIVED_ERROR: null, + + CLICK_CHANNEL: null, + CREATE_CHANNEL: null, + LEAVE_CHANNEL: null, + CREATE_POST: null, + POST_DELETED: null, + REMOVE_POST: null, + + RECEIVED_CHANNELS: null, + RECEIVED_CHANNEL: null, + RECEIVED_MORE_CHANNELS: null, + RECEIVED_CHANNEL_EXTRA_INFO: null, + + FOCUS_POST: null, + RECEIVED_POSTS: null, + RECEIVED_FOCUSED_POST: null, + RECEIVED_POST: null, + RECEIVED_EDIT_POST: null, + RECEIVED_SEARCH: null, + RECEIVED_SEARCH_TERM: null, + RECEIVED_POST_SELECTED: null, + RECEIVED_MENTION_DATA: null, + RECEIVED_ADD_MENTION: null, + + RECEIVED_PROFILES: null, + RECEIVED_ME: null, + RECEIVED_SESSIONS: null, + RECEIVED_AUDITS: null, + RECEIVED_TEAMS: null, + RECEIVED_STATUSES: null, + RECEIVED_PREFERENCE: null, + RECEIVED_PREFERENCES: null, + RECEIVED_FILE_INFO: null, + + RECEIVED_MSG: null, + + RECEIVED_MY_TEAM: null, + + RECEIVED_CONFIG: null, + RECEIVED_LOGS: null, + RECEIVED_SERVER_AUDITS: null, + RECEIVED_ALL_TEAMS: null, + + RECEIVED_LOCALE: null, + + SHOW_SEARCH: null, + + TOGGLE_IMPORT_THEME_MODAL: null, + TOGGLE_INVITE_MEMBER_MODAL: null, + TOGGLE_DELETE_POST_MODAL: null, + TOGGLE_GET_POST_LINK_MODAL: null, + TOGGLE_GET_TEAM_INVITE_LINK_MODAL: null, + TOGGLE_REGISTER_APP_MODAL: null, + + SUGGESTION_PRETEXT_CHANGED: null, + SUGGESTION_RECEIVED_SUGGESTIONS: null, + SUGGESTION_CLEAR_SUGGESTIONS: null, + SUGGESTION_COMPLETE_WORD: null, + SUGGESTION_SELECT_NEXT: null, + SUGGESTION_SELECT_PREVIOUS: null + }), + + PayloadSources: keyMirror({ + SERVER_ACTION: null, + VIEW_ACTION: null + }), + + StatTypes: keyMirror({ + TOTAL_USERS: null, + TOTAL_PUBLIC_CHANNELS: null, + TOTAL_PRIVATE_GROUPS: null, + TOTAL_POSTS: null, + TOTAL_TEAMS: null, + TOTAL_FILE_POSTS: null, + TOTAL_HASHTAG_POSTS: null, + TOTAL_IHOOKS: null, + TOTAL_OHOOKS: null, + TOTAL_COMMANDS: null, + TOTAL_SESSIONS: null, + POST_PER_DAY: null, + USERS_WITH_POSTS_PER_DAY: null, + RECENTLY_ACTIVE_USERS: null, + NEWLY_CREATED_USERS: null + }), + STAT_MAX_ACTIVE_USERS: 20, + STAT_MAX_NEW_USERS: 20, + + SocketEvents: { + POSTED: 'posted', + POST_EDITED: 'post_edited', + POST_DELETED: 'post_deleted', + CHANNEL_VIEWED: 'channel_viewed', + NEW_USER: 'new_user', + USER_ADDED: 'user_added', + USER_REMOVED: 'user_removed', + TYPING: 'typing', + PREFERENCE_CHANGED: 'preference_changed', + EPHEMERAL_MESSAGE: 'ephemeral_message' + }, + + //SPECIAL_MENTIONS: ['all', 'channel'], + SPECIAL_MENTIONS: ['channel'], + CHARACTER_LIMIT: 4000, + IMAGE_TYPES: ['jpg', 'gif', 'bmp', 'png', 'jpeg'], + AUDIO_TYPES: ['mp3', 'wav', 'wma', 'm4a', 'flac', 'aac', 'ogg'], + VIDEO_TYPES: ['mp4', 'avi', 'webm', 'mkv', 'wmv', 'mpg', 'mov', 'flv'], + PRESENTATION_TYPES: ['ppt', 'pptx'], + SPREADSHEET_TYPES: ['xlsx', 'csv'], + WORD_TYPES: ['doc', 'docx'], + CODE_TYPES: ['css', 'html', 'js', 'php', 'rb'], + PDF_TYPES: ['pdf'], + PATCH_TYPES: ['patch'], + ICON_FROM_TYPE: { + audio: audioIcon, + video: videoIcon, + spreadsheet: excelIcon, + presentation: pptIcon, + pdf: pdfIcon, + code: codeIcon, + word: wordIcon, + patch: patchIcon, + other: genericIcon + }, + ICON_NAME_FROM_TYPE: { + audio: 'audio', + video: 'video', + spreadsheet: 'excel', + presentation: 'ppt', + pdf: 'pdf', + code: 'code', + word: 'word', + patch: 'patch', + other: 'generic' + }, + MAX_DISPLAY_FILES: 5, + MAX_UPLOAD_FILES: 5, + MAX_FILE_SIZE: 50000000, // 50 MB + THUMBNAIL_WIDTH: 128, + THUMBNAIL_HEIGHT: 100, + WEB_VIDEO_WIDTH: 640, + WEB_VIDEO_HEIGHT: 480, + MOBILE_VIDEO_WIDTH: 480, + MOBILE_VIDEO_HEIGHT: 360, + DEFAULT_CHANNEL: 'town-square', + OFFTOPIC_CHANNEL: 'off-topic', + GITLAB_SERVICE: 'gitlab', + GOOGLE_SERVICE: 'google', + EMAIL_SERVICE: 'email', + SIGNIN_CHANGE: 'signin_change', + SIGNIN_VERIFIED: 'verified', + SESSION_EXPIRED: 'expired', + POST_CHUNK_SIZE: 60, + MAX_POST_CHUNKS: 3, + POST_FOCUS_CONTEXT_RADIUS: 10, + POST_LOADING: 'loading', + POST_FAILED: 'failed', + POST_DELETED: 'deleted', + POST_TYPE_EPHEMERAL: 'system_ephemeral', + POST_TYPE_JOIN_LEAVE: 'system_join_leave', + SYSTEM_MESSAGE_PREFIX: 'system_', + SYSTEM_MESSAGE_PROFILE_NAME: 'System', + SYSTEM_MESSAGE_PROFILE_IMAGE: logoImage, + RESERVED_TEAM_NAMES: [ + 'www', + 'web', + 'admin', + 'support', + 'notify', + 'test', + 'demo', + 'mail', + 'team', + 'channel', + 'internal', + 'localhost', + 'dockerhost', + 'stag', + 'post', + 'cluster', + 'api' + ], + RESERVED_USERNAMES: [ + 'valet', + 'all', + 'channel' + ], + MONTHS: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + MAX_DMS: 20, + MAX_CHANNEL_POPOVER_COUNT: 100, + DM_CHANNEL: 'D', + OPEN_CHANNEL: 'O', + PRIVATE_CHANNEL: 'P', + INVITE_TEAM: 'I', + OPEN_TEAM: 'O', + MAX_POST_LEN: 4000, + EMOJI_SIZE: 16, + ONLINE_ICON_SVG: " ", + AWAY_ICON_SVG: " ", + OFFLINE_ICON_SVG: " ", + MENU_ICON: " ", + COMMENT_ICON: " ", + REPLY_ICON: " ", + SCROLL_BOTTOM_ICON: " ", + UPDATE_TYPING_MS: 5000, + THEMES: { + default: { + type: 'Organization', + sidebarBg: '#2071a7', + sidebarText: '#fff', + sidebarUnreadText: '#fff', + sidebarTextHoverBg: '#136197', + sidebarTextActiveBorder: '#7AB0D6', + sidebarTextActiveColor: '#FFFFFF', + sidebarHeaderBg: '#2f81b7', + sidebarHeaderTextColor: '#FFFFFF', + onlineIndicator: '#7DBE00', + awayIndicator: '#DCBD4E', + mentionBj: '#FBFBFB', + mentionColor: '#2071A7', + centerChannelBg: '#f2f4f8', + centerChannelColor: '#333333', + newMessageSeparator: '#FF8800', + linkColor: '#2f81b7', + buttonBg: '#1dacfc', + buttonColor: '#FFFFFF', + mentionHighlightBg: '#fff2bb', + mentionHighlightLink: '#2f81b7', + codeTheme: 'github', + image: defaultThemeImage + }, + mattermost: { + type: 'Mattermost', + sidebarBg: '#fafafa', + sidebarText: '#333333', + sidebarUnreadText: '#333333', + sidebarTextHoverBg: '#e6f2fa', + sidebarTextActiveBorder: '#378FD2', + sidebarTextActiveColor: '#111111', + sidebarHeaderBg: '#2389d7', + sidebarHeaderTextColor: '#ffffff', + onlineIndicator: '#7DBE00', + awayIndicator: '#DCBD4E', + mentionBj: '#2389d7', + mentionColor: '#ffffff', + centerChannelBg: '#ffffff', + centerChannelColor: '#333333', + newMessageSeparator: '#FF8800', + linkColor: '#2389d7', + buttonBg: '#2389d7', + buttonColor: '#FFFFFF', + mentionHighlightBg: '#fff2bb', + mentionHighlightLink: '#2f81b7', + codeTheme: 'github', + image: mattermostThemeImage + }, + mattermostDark: { + type: 'Mattermost Dark', + sidebarBg: '#1B2C3E', + sidebarText: '#fff', + sidebarUnreadText: '#fff', + sidebarTextHoverBg: '#4A5664', + sidebarTextActiveBorder: '#39769C', + sidebarTextActiveColor: '#FFFFFF', + sidebarHeaderBg: '#1B2C3E', + sidebarHeaderTextColor: '#FFFFFF', + onlineIndicator: '#55C5B2', + awayIndicator: '#A9A14C', + mentionBj: '#B74A4A', + mentionColor: '#FFFFFF', + centerChannelBg: '#2F3E4E', + centerChannelColor: '#DDDDDD', + newMessageSeparator: '#5de5da', + linkColor: '#A4FFEB', + buttonBg: '#4CBBA4', + buttonColor: '#FFFFFF', + mentionHighlightBg: '#984063', + mentionHighlightLink: '#A4FFEB', + codeTheme: 'solarized-dark', + image: mattermostDarkThemeImage + }, + windows10: { + type: 'Windows Dark', + sidebarBg: '#171717', + sidebarText: '#fff', + sidebarUnreadText: '#fff', + sidebarTextHoverBg: '#302e30', + sidebarTextActiveBorder: '#196CAF', + sidebarTextActiveColor: '#FFFFFF', + sidebarHeaderBg: '#1f1f1f', + sidebarHeaderTextColor: '#FFFFFF', + onlineIndicator: '#0177e7', + awayIndicator: '#A9A14C', + mentionBj: '#0177e7', + mentionColor: '#FFFFFF', + centerChannelBg: '#1F1F1F', + centerChannelColor: '#DDDDDD', + newMessageSeparator: '#CC992D', + linkColor: '#0D93FF', + buttonBg: '#0177e7', + buttonColor: '#FFFFFF', + mentionHighlightBg: '#784098', + mentionHighlightLink: '#A4FFEB', + codeTheme: 'monokai', + image: windows10ThemeImage + } + }, + THEME_ELEMENTS: [ + { + group: 'sidebarElements', + id: 'sidebarBg', + uiName: 'Sidebar BG' + }, + { + group: 'sidebarElements', + id: 'sidebarText', + uiName: 'Sidebar Text' + }, + { + group: 'sidebarElements', + id: 'sidebarHeaderBg', + uiName: 'Sidebar Header BG' + }, + { + group: 'sidebarElements', + id: 'sidebarHeaderTextColor', + uiName: 'Sidebar Header Text' + }, + { + group: 'sidebarElements', + id: 'sidebarUnreadText', + uiName: 'Sidebar Unread Text' + }, + { + group: 'sidebarElements', + id: 'sidebarTextHoverBg', + uiName: 'Sidebar Text Hover BG' + }, + { + group: 'sidebarElements', + id: 'sidebarTextActiveBorder', + uiName: 'Sidebar Text Active Border' + }, + { + group: 'sidebarElements', + id: 'sidebarTextActiveColor', + uiName: 'Sidebar Text Active Color' + }, + { + group: 'sidebarElements', + id: 'onlineIndicator', + uiName: 'Online Indicator' + }, + { + group: 'sidebarElements', + id: 'awayIndicator', + uiName: 'Away Indicator' + }, + { + group: 'sidebarElements', + id: 'mentionBj', + uiName: 'Mention Jewel BG' + }, + { + group: 'sidebarElements', + id: 'mentionColor', + uiName: 'Mention Jewel Text' + }, + { + group: 'centerChannelElements', + id: 'centerChannelBg', + uiName: 'Center Channel BG' + }, + { + group: 'centerChannelElements', + id: 'centerChannelColor', + uiName: 'Center Channel Text' + }, + { + group: 'centerChannelElements', + id: 'newMessageSeparator', + uiName: 'New Message Separator' + }, + { + group: 'centerChannelElements', + id: 'mentionHighlightBg', + uiName: 'Mention Highlight BG' + }, + { + group: 'centerChannelElements', + id: 'mentionHighlightLink', + uiName: 'Mention Highlight Link' + }, + { + group: 'centerChannelElements', + id: 'codeTheme', + uiName: 'Code Theme', + themes: [ + { + id: 'solarized-dark', + uiName: 'Solarized Dark', + cssURL: solarizedDarkCSS, + iconURL: solarizedDarkIcon + }, + { + id: 'solarized-light', + uiName: 'Solarized Light', + cssURL: solarizedLightCSS, + iconURL: solarizedLightIcon + }, + { + id: 'github', + uiName: 'GitHub', + cssURL: githubCSS, + iconURL: githubIcon + }, + { + id: 'monokai', + uiName: 'Monokai', + cssURL: monokaiCSS, + iconURL: monokaiIcon + } + ] + }, + { + group: 'linkAndButtonElements', + id: 'linkColor', + uiName: 'Link Color' + }, + { + group: 'linkAndButtonElements', + id: 'buttonBg', + uiName: 'Button BG' + }, + { + group: 'linkAndButtonElements', + id: 'buttonColor', + uiName: 'Button Text' + } + ], + DEFAULT_CODE_THEME: 'github', + FONTS: { + 'Droid Serif': 'font--droid_serif', + 'Roboto Slab': 'font--roboto_slab', + Lora: 'font--lora', + Arvo: 'font--arvo', + 'Open Sans': 'font--open_sans', + Roboto: 'font--roboto', + 'PT Sans': 'font--pt_sans', + Lato: 'font--lato', + 'Source Sans Pro': 'font--source_sans_pro', + 'Exo 2': 'font--exo_2', + Ubuntu: 'font--ubuntu' + }, + DEFAULT_FONT: 'Open Sans', + Preferences: { + CATEGORY_DIRECT_CHANNEL_SHOW: 'direct_channel_show', + CATEGORY_DISPLAY_SETTINGS: 'display_settings', + DISPLAY_PREFER_NICKNAME: 'nickname_full_name', + DISPLAY_PREFER_FULL_NAME: 'full_name', + CATEGORY_ADVANCED_SETTINGS: 'advanced_settings', + TUTORIAL_STEP: 'tutorial_step' + }, + TutorialSteps: { + INTRO_SCREENS: 0, + POST_POPOVER: 1, + CHANNEL_POPOVER: 2, + MENU_POPOVER: 3 + }, + KeyCodes: { + UP: 38, + DOWN: 40, + LEFT: 37, + RIGHT: 39, + BACKSPACE: 8, + ENTER: 13, + ESCAPE: 27, + SPACE: 32, + TAB: 9 + }, + HighlightedLanguages: { + diff: 'Diff', + apache: 'Apache', + makefile: 'Makefile', + http: 'HTTP', + json: 'JSON', + markdown: 'Markdown', + javascript: 'JavaScript', + css: 'CSS', + nginx: 'nginx', + objectivec: 'Objective-C', + python: 'Python', + xml: 'XML', + perl: 'Perl', + bash: 'Bash', + php: 'PHP', + coffeescript: 'CoffeeScript', + cs: 'C#', + cpp: 'C++', + sql: 'SQL', + go: 'Go', + ruby: 'Ruby', + java: 'Java', + ini: 'ini' + }, + PostsViewJumpTypes: { + BOTTOM: 1, + POST: 2, + SIDEBAR_OPEN: 3 + }, + NotificationPrefs: { + MENTION: 'mention' + }, + FeatureTogglePrefix: 'feature_enabled_', + PRE_RELEASE_FEATURES: { + MARKDOWN_PREVIEW: { + label: 'markdown_preview', // github issue: https://github.com/mattermost/platform/pull/1389 + description: 'Show markdown preview option in message input box' + }, + EMBED_PREVIEW: { + label: 'embed_preview', + description: 'Show preview snippet of links below message' + }, + EMBED_TOGGLE: { + label: 'embed_toggle', + description: 'Show toggle for all embed previews' + } + }, + OVERLAY_TIME_DELAY: 400, + MIN_USERNAME_LENGTH: 3, + MAX_USERNAME_LENGTH: 64, + MIN_PASSWORD_LENGTH: 5, + MAX_PASSWORD_LENGTH: 50, + TIME_SINCE_UPDATE_INTERVAL: 30000, + MIN_HASHTAG_LINK_LENGTH: 3 +}; -- cgit v1.2.3-1-g7c22