@messenger-box/platform-client 0.0.1-alpha.134

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/LICENSE +21 -0
  3. package/jest.config.js +24 -0
  4. package/lib/graphql/id-generation.d.ts +14 -0
  5. package/lib/graphql/index.d.ts +4 -0
  6. package/lib/graphql/policies/channel-policies.d.ts +2 -0
  7. package/lib/graphql/policies/index.d.ts +3 -0
  8. package/lib/graphql/policies/posts-policies.d.ts +2 -0
  9. package/lib/graphql/policies/user-policies.d.ts +2 -0
  10. package/lib/graphql/schema/index.d.ts +2 -0
  11. package/lib/index.d.ts +2 -0
  12. package/lib/index.js +500 -0
  13. package/lib/index.js.map +1 -0
  14. package/lib/utils/index.d.ts +3 -0
  15. package/package.json +60 -0
  16. package/src/graphql/fragments/configuration.gql +12 -0
  17. package/src/graphql/fragments/post-message.gql +42 -0
  18. package/src/graphql/id-generation.ts +8 -0
  19. package/src/graphql/index.ts +7 -0
  20. package/src/graphql/mutations/channel-mutation.gql +44 -0
  21. package/src/graphql/mutations/messages-mutation.gql +66 -0
  22. package/src/graphql/policies/channel-policies.ts +7 -0
  23. package/src/graphql/policies/index.ts +3 -0
  24. package/src/graphql/policies/posts-policies.ts +110 -0
  25. package/src/graphql/policies/user-policies.ts +32 -0
  26. package/src/graphql/queries/channel.gql +28 -0
  27. package/src/graphql/queries/post-message.gql +8 -0
  28. package/src/graphql/queries/users.gql +32 -0
  29. package/src/graphql/schema/index.ts +4 -0
  30. package/src/graphql/schema/post.graphql +44 -0
  31. package/src/graphql/schema/services.graphql +6 -0
  32. package/src/index.tsx +3 -0
  33. package/src/inversify-containers/index.ts +1 -0
  34. package/src/inversify-containers/module.ts +4 -0
  35. package/src/packages/constants/constants.ts +1831 -0
  36. package/src/packages/types/channels.ts +194 -0
  37. package/src/packages/types/emojis.ts +41 -0
  38. package/src/packages/types/files.ts +43 -0
  39. package/src/packages/types/posts.ts +155 -0
  40. package/src/packages/types/reactions.ts +8 -0
  41. package/src/packages/types/teams.ts +108 -0
  42. package/src/packages/types/utilities.ts +30 -0
  43. package/src/services/index.ts +0 -0
  44. package/src/utils/constants.tsx +1120 -0
  45. package/src/utils/i18n.tsx +15 -0
  46. package/src/utils/index.ts +34 -0
  47. package/src/utils/post_list.ts +54 -0
  48. package/src/utils/post_utils.ts +33 -0
  49. package/src/utils/user_agent.tsx +153 -0
  50. package/src/utils/utils.tsx +54 -0
  51. package/tsconfig.json +18 -0
  52. package/webpack.config.js +58 -0
@@ -0,0 +1,1120 @@
1
+ import * as PostListUtils from './post_list';
2
+ import keyMirror from 'key-mirror';
3
+
4
+ export const SettingsTypes = {
5
+ TYPE_TEXT: 'text',
6
+ TYPE_LONG_TEXT: 'longtext',
7
+ TYPE_NUMBER: 'number',
8
+ TYPE_COLOR: 'color',
9
+ TYPE_BOOL: 'bool',
10
+ TYPE_PERMISSION: 'permission',
11
+ TYPE_RADIO: 'radio',
12
+ TYPE_BANNER: 'banner',
13
+ TYPE_DROPDOWN: 'dropdown',
14
+ TYPE_GENERATED: 'generated',
15
+ TYPE_USERNAME: 'username',
16
+ TYPE_BUTTON: 'button',
17
+ TYPE_LANGUAGE: 'language',
18
+ TYPE_JOBSTABLE: 'jobstable',
19
+ TYPE_FILE_UPLOAD: 'fileupload',
20
+ TYPE_CUSTOM: 'custom',
21
+ };
22
+
23
+ export const JobTypes = {
24
+ DATA_RETENTION: 'data_retention',
25
+ ELASTICSEARCH_POST_INDEXING: 'elasticsearch_post_indexing',
26
+ BLEVE_POST_INDEXING: 'bleve_post_indexing',
27
+ LDAP_SYNC: 'ldap_sync',
28
+ MESSAGE_EXPORT: 'message_export',
29
+ };
30
+
31
+ export const Preferences = {
32
+ CATEGORY_CHANNEL_OPEN_TIME: 'channel_open_time',
33
+ CATEGORY_DIRECT_CHANNEL_SHOW: 'direct_channel_show',
34
+ CATEGORY_GROUP_CHANNEL_SHOW: 'group_channel_show',
35
+ CATEGORY_DISPLAY_SETTINGS: 'display_settings',
36
+ CATEGORY_SIDEBAR_SETTINGS: 'sidebar_settings',
37
+ CATEGORY_ADVANCED_SETTINGS: 'advanced_settings',
38
+ TUTORIAL_STEP: 'tutorial_step',
39
+ CHANNEL_DISPLAY_MODE: 'channel_display_mode',
40
+ CHANNEL_DISPLAY_MODE_CENTERED: 'centered',
41
+ CHANNEL_DISPLAY_MODE_FULL_SCREEN: 'full',
42
+ CHANNEL_DISPLAY_MODE_DEFAULT: 'full',
43
+ MESSAGE_DISPLAY: 'message_display',
44
+ MESSAGE_DISPLAY_CLEAN: 'clean',
45
+ MESSAGE_DISPLAY_COMPACT: 'compact',
46
+ MESSAGE_DISPLAY_DEFAULT: 'clean',
47
+ COLLAPSED_REPLY_THREADS: 'collapsed_reply_threads',
48
+ COLLAPSED_REPLY_THREADS_OFF: 'off',
49
+ COLLAPSED_REPLY_THREADS_ON: 'on',
50
+ COLLAPSED_REPLY_THREADS_FALLBACK_DEFAULT: 'off',
51
+ LINK_PREVIEW_DISPLAY: 'link_previews',
52
+ LINK_PREVIEW_DISPLAY_DEFAULT: 'true',
53
+ COLLAPSE_DISPLAY: 'collapse_previews',
54
+ COLLAPSE_DISPLAY_DEFAULT: 'false',
55
+ AVAILABILITY_STATUS_ON_POSTS: 'availability_status_on_posts',
56
+ AVAILABILITY_STATUS_ON_POSTS_DEFAULT: 'true',
57
+ USE_MILITARY_TIME: 'use_military_time',
58
+ USE_MILITARY_TIME_DEFAULT: 'false',
59
+ CATEGORY_THEME: 'theme',
60
+ CATEGORY_FLAGGED_POST: 'flagged_post',
61
+ CATEGORY_NOTIFICATIONS: 'notifications',
62
+ EMAIL_INTERVAL: 'email_interval',
63
+ INTERVAL_IMMEDIATE: 30, // "immediate" is a 30 second interval
64
+ INTERVAL_FIFTEEN_MINUTES: 15 * 60,
65
+ INTERVAL_HOUR: 60 * 60,
66
+ INTERVAL_NEVER: 0,
67
+ NAME_NAME_FORMAT: 'name_format',
68
+ CATEGORY_SYSTEM_NOTICE: 'system_notice',
69
+ TEAMS_ORDER: 'teams_order',
70
+ RECOMMENDED_NEXT_STEPS: 'recommended_next_steps',
71
+ CLOUD_UPGRADE_BANNER: 'cloud_upgrade_banner',
72
+ CLOUD_TRIAL_BANNER: 'cloud_trial_banner',
73
+ ADMIN_CLOUD_UPGRADE_PANEL: 'admin_cloud_upgrade_panel',
74
+ CATEGORY_EMOJI: 'emoji',
75
+ EMOJI_SKINTONE: 'emoji_skintone',
76
+ };
77
+
78
+ export const SocketEvents = {
79
+ POSTED: 'posted',
80
+ POST_EDITED: 'post_edited',
81
+ POST_DELETED: 'post_deleted',
82
+ POST_UPDATED: 'post_updated',
83
+ POST_UNREAD: 'post_unread',
84
+ CHANNEL_CONVERTED: 'channel_converted',
85
+ CHANNEL_CREATED: 'channel_created',
86
+ CHANNEL_DELETED: 'channel_deleted',
87
+ CHANNEL_UNARCHIVED: 'channel_restored',
88
+ CHANNEL_UPDATED: 'channel_updated',
89
+ CHANNEL_VIEWED: 'channel_viewed',
90
+ CHANNEL_MEMBER_UPDATED: 'channel_member_updated',
91
+ CHANNEL_SCHEME_UPDATED: 'channel_scheme_updated',
92
+ DIRECT_ADDED: 'direct_added',
93
+ GROUP_ADDED: 'group_added',
94
+ NEW_USER: 'new_user',
95
+ ADDED_TO_TEAM: 'added_to_team',
96
+ JOIN_TEAM: 'join_team',
97
+ LEAVE_TEAM: 'leave_team',
98
+ UPDATE_TEAM: 'update_team',
99
+ DELETE_TEAM: 'delete_team',
100
+ UPDATE_TEAM_SCHEME: 'update_team_scheme',
101
+ USER_ADDED: 'user_added',
102
+ USER_REMOVED: 'user_removed',
103
+ USER_UPDATED: 'user_updated',
104
+ USER_ROLE_UPDATED: 'user_role_updated',
105
+ MEMBERROLE_UPDATED: 'memberrole_updated',
106
+ ROLE_ADDED: 'role_added',
107
+ ROLE_REMOVED: 'role_removed',
108
+ ROLE_UPDATED: 'role_updated',
109
+ TYPING: 'typing',
110
+ PREFERENCE_CHANGED: 'preference_changed',
111
+ PREFERENCES_CHANGED: 'preferences_changed',
112
+ PREFERENCES_DELETED: 'preferences_deleted',
113
+ EPHEMERAL_MESSAGE: 'ephemeral_message',
114
+ STATUS_CHANGED: 'status_change',
115
+ HELLO: 'hello',
116
+ REACTION_ADDED: 'reaction_added',
117
+ REACTION_REMOVED: 'reaction_removed',
118
+ EMOJI_ADDED: 'emoji_added',
119
+ PLUGIN_ENABLED: 'plugin_enabled',
120
+ PLUGIN_DISABLED: 'plugin_disabled',
121
+ LICENSE_CHANGED: 'license_changed',
122
+ CONFIG_CHANGED: 'config_changed',
123
+ PLUGIN_STATUSES_CHANGED: 'plugin_statuses_changed',
124
+ OPEN_DIALOG: 'open_dialog',
125
+ RECEIVED_GROUP: 'received_group',
126
+ RECEIVED_GROUP_ASSOCIATED_TO_TEAM: 'received_group_associated_to_team',
127
+ RECEIVED_GROUP_NOT_ASSOCIATED_TO_TEAM: 'received_group_not_associated_to_team',
128
+ RECEIVED_GROUP_ASSOCIATED_TO_CHANNEL: 'received_group_associated_to_channel',
129
+ RECEIVED_GROUP_NOT_ASSOCIATED_TO_CHANNEL: 'received_group_not_associated_to_channel',
130
+ WARN_METRIC_STATUS_RECEIVED: 'warn_metric_status_received',
131
+ WARN_METRIC_STATUS_REMOVED: 'warn_metric_status_removed',
132
+ SIDEBAR_CATEGORY_CREATED: 'sidebar_category_created',
133
+ SIDEBAR_CATEGORY_UPDATED: 'sidebar_category_updated',
134
+ SIDEBAR_CATEGORY_DELETED: 'sidebar_category_deleted',
135
+ SIDEBAR_CATEGORY_ORDER_UPDATED: 'sidebar_category_order_updated',
136
+ USER_ACTIVATION_STATUS_CHANGED: 'user_activation_status_change',
137
+ CLOUD_PAYMENT_STATUS_UPDATED: 'cloud_payment_status_updated',
138
+ APPS_FRAMEWORK_REFRESH_BINDINGS: 'custom_com.mattermost.apps_refresh_bindings',
139
+ FIRST_ADMIN_VISIT_MARKETPLACE_STATUS_RECEIVED: 'first_admin_visit_marketplace_status_received',
140
+ THREAD_UPDATED: 'thread_updated',
141
+ THREAD_FOLLOW_CHANGED: 'thread_follow_changed',
142
+ THREAD_READ_CHANGED: 'thread_read_changed',
143
+ };
144
+
145
+ export const ActionTypes = keyMirror({
146
+ RECEIVED_FOCUSED_POST: null,
147
+ SELECT_POST: null,
148
+ HIGHLIGHT_REPLY: null,
149
+ CLEAR_HIGHLIGHT_REPLY: null,
150
+ SELECT_POST_CARD: null,
151
+ INCREASE_POST_VISIBILITY: null,
152
+ LOADING_POSTS: null,
153
+
154
+ UPDATE_RHS_STATE: null,
155
+ UPDATE_RHS_SEARCH_TERMS: null,
156
+ UPDATE_RHS_SEARCH_TYPE: null,
157
+ UPDATE_RHS_SEARCH_RESULTS_TERMS: null,
158
+
159
+ SET_RHS_EXPANDED: null,
160
+ TOGGLE_RHS_EXPANDED: null,
161
+
162
+ UPDATE_MOBILE_VIEW: null,
163
+
164
+ SET_NAVIGATION_BLOCKED: null,
165
+ DEFER_NAVIGATION: null,
166
+ CANCEL_NAVIGATION: null,
167
+ CONFIRM_NAVIGATION: null,
168
+
169
+ TOGGLE_SHORTCUTS_MODAL: null,
170
+ TOGGLE_IMPORT_THEME_MODAL: null,
171
+ TOGGLE_DELETE_POST_MODAL: null,
172
+ TOGGLE_GET_TEAM_INVITE_LINK_MODAL: null,
173
+ TOGGLE_GET_PUBLIC_LINK_MODAL: null,
174
+ TOGGLE_QUICK_SWITCH_MODAL: null,
175
+ TOGGLE_CHANNEL_PURPOSE_UPDATE_MODAL: null,
176
+ TOGGLE_CHANNEL_NAME_UPDATE_MODAL: null,
177
+ TOGGLE_LEAVE_PRIVATE_CHANNEL_MODAL: null,
178
+ SHOW_EDIT_POST_MODAL: null,
179
+ HIDE_EDIT_POST_MODAL: null,
180
+
181
+ EMITTED_SHORTCUT_REACT_TO_LAST_POST: null,
182
+
183
+ BROWSER_CHANGE_FOCUS: null,
184
+
185
+ RECEIVED_PLUGIN_COMPONENT: null,
186
+ REMOVED_PLUGIN_COMPONENT: null,
187
+ RECEIVED_PLUGIN_POST_COMPONENT: null,
188
+ RECEIVED_PLUGIN_POST_CARD_COMPONENT: null,
189
+ REMOVED_PLUGIN_POST_COMPONENT: null,
190
+ REMOVED_PLUGIN_POST_CARD_COMPONENT: null,
191
+ RECEIVED_WEBAPP_PLUGINS: null,
192
+ RECEIVED_WEBAPP_PLUGIN: null,
193
+ REMOVED_WEBAPP_PLUGIN: null,
194
+ RECEIVED_ADMIN_CONSOLE_REDUCER: null,
195
+ REMOVED_ADMIN_CONSOLE_REDUCER: null,
196
+ RECEIVED_ADMIN_CONSOLE_CUSTOM_COMPONENT: null,
197
+
198
+ MODAL_OPEN: null,
199
+ MODAL_CLOSE: null,
200
+
201
+ SELECT_CHANNEL_WITH_MEMBER: null,
202
+ SET_LAST_UNREAD_CHANNEL: null,
203
+ UPDATE_CHANNEL_LAST_VIEWED_AT: null,
204
+
205
+ INCREMENT_EMOJI_PICKER_PAGE: null,
206
+ SET_RECENT_SKIN: null,
207
+
208
+ STATUS_DROPDOWN_TOGGLE: null,
209
+ TOGGLE_LHS: null,
210
+ OPEN_LHS: null,
211
+ CLOSE_LHS: null,
212
+
213
+ SET_SHOW_PREVIEW_ON_CREATE_COMMENT: null,
214
+ SET_SHOW_PREVIEW_ON_CREATE_POST: null,
215
+ SET_SHOW_PREVIEW_ON_EDIT_CHANNEL_HEADER_MODAL: null,
216
+ SET_SHOW_PREVIEW_ON_EDIT_POST_MODAL: null,
217
+
218
+ TOGGLE_RHS_MENU: null,
219
+ OPEN_RHS_MENU: null,
220
+ CLOSE_RHS_MENU: null,
221
+
222
+ STORE_REHYDRATION_FAILED: null,
223
+
224
+ DISMISS_NOTICE: null,
225
+ SHOW_NOTICE: null,
226
+
227
+ SELECT_ATTACHMENT_MENU_ACTION: null,
228
+
229
+ RECEIVED_TRANSLATIONS: null,
230
+
231
+ INCREMENT_WS_ERROR_COUNT: null,
232
+ RESET_WS_ERROR_COUNT: null,
233
+ RECEIVED_POSTS_FOR_CHANNEL_AT_TIME: null,
234
+ CHANNEL_POSTS_STATUS: null,
235
+ CHANNEL_SYNC_STATUS: null,
236
+ ALL_CHANNEL_SYNC_STATUS: null,
237
+
238
+ UPDATE_ACTIVE_SECTION: null,
239
+
240
+ RECEIVED_MARKETPLACE_PLUGINS: null,
241
+ RECEIVED_MARKETPLACE_APPS: null,
242
+ FILTER_MARKETPLACE_LISTING: null,
243
+ INSTALLING_MARKETPLACE_ITEM: null,
244
+ INSTALLING_MARKETPLACE_ITEM_SUCCEEDED: null,
245
+ INSTALLING_MARKETPLACE_ITEM_FAILED: null,
246
+
247
+ POST_UNREAD_SUCCESS: null,
248
+
249
+ SET_UNREAD_FILTER_ENABLED: null,
250
+ UPDATE_TOAST_STATUS: null,
251
+
252
+ SIDEBAR_DRAGGING_SET_STATE: null,
253
+ SIDEBAR_DRAGGING_STOP: null,
254
+ ADD_NEW_CATEGORY_ID: null,
255
+ MULTISELECT_CHANNEL: null,
256
+ MULTISELECT_CHANNEL_ADD: null,
257
+ MULTISELECT_CHANNEL_TO: null,
258
+ MULTISELECT_CHANNEL_CLEAR: null,
259
+
260
+ TRACK_ANNOUNCEMENT_BAR: null,
261
+ DISMISS_ANNOUNCEMENT_BAR: null,
262
+
263
+ PREFETCH_POSTS_FOR_CHANNEL: null,
264
+
265
+ SET_SHOW_NEXT_STEPS_VIEW: null,
266
+ SET_FILES_FILTER_BY_EXT: null,
267
+
268
+ SUPPRESS_RHS: null,
269
+ UNSUPPRESS_RHS: null,
270
+ });
271
+
272
+ export const UserStatuses = {
273
+ OUT_OF_OFFICE: 'ooo',
274
+ OFFLINE: 'offline',
275
+ AWAY: 'away',
276
+ ONLINE: 'online',
277
+ DND: 'dnd',
278
+ };
279
+
280
+ export const Locations = {
281
+ CENTER: 'CENTER',
282
+ RHS_ROOT: 'RHS_ROOT',
283
+ RHS_COMMENT: 'RHS_COMMENT',
284
+ SEARCH: 'SEARCH',
285
+ NO_WHERE: 'NO_WHERE',
286
+ };
287
+
288
+ export const ModalIdentifiers = {
289
+ ABOUT: 'about',
290
+ TEAM_SETTINGS: 'team_settings',
291
+ CHANNEL_INFO: 'channel_info',
292
+ DELETE_CHANNEL: 'delete_channel',
293
+ UNARCHIVE_CHANNEL: 'unarchive_channel',
294
+ CHANNEL_NOTIFICATIONS: 'channel_notifications',
295
+ CHANNEL_INVITE: 'channel_invite',
296
+ CHANNEL_MEMBERS: 'channel_members',
297
+ TEAM_MEMBERS: 'team_members',
298
+ ADD_USER_TO_CHANNEL: 'add_user_to_channel',
299
+ ADD_USER_TO_TEAM: 'add_user_to_team',
300
+ CREATE_DM_CHANNEL: 'create_dm_channel',
301
+ EDIT_CHANNEL_HEADER: 'edit_channel_header',
302
+ EDIT_CHANNEL_PURPOSE: 'edit_channel_purpose',
303
+ DELETE_POST: 'delete_post',
304
+ CONVERT_CHANNEL: 'convert_channel',
305
+ RESET_STATUS: 'reset_status',
306
+ LEAVE_TEAM: 'leave_team',
307
+ RENAME_CHANNEL: 'rename_channel',
308
+ USER_SETTINGS: 'user_settings',
309
+ QUICK_SWITCH: 'quick_switch',
310
+ REMOVED_FROM_CHANNEL: 'removed_from_channel',
311
+ EMAIL_INVITE: 'email_invite',
312
+ INTERACTIVE_DIALOG: 'interactive_dialog',
313
+ APPS_MODAL: 'apps_modal',
314
+ ADD_TEAMS_TO_SCHEME: 'add_teams_to_scheme',
315
+ INVITATION: 'invitation',
316
+ ADD_GROUPS_TO_TEAM: 'add_groups_to_team',
317
+ ADD_GROUPS_TO_CHANNEL: 'add_groups_to_channel',
318
+ MANAGE_TEAM_GROUPS: 'manage_team_groups',
319
+ MANAGE_CHANNEL_GROUPS: 'manage_channel_groups',
320
+ GROUP_MEMBERS: 'group_members',
321
+ MOBILE_SUBMENU: 'mobile_submenu',
322
+ PLUGIN_MARKETPLACE: 'plugin_marketplace',
323
+ EDIT_CATEGORY: 'edit_category',
324
+ DELETE_CATEGORY: 'delete_category',
325
+ SIDEBAR_WHATS_NEW_MODAL: 'sidebar_whats_new_modal',
326
+ WARN_METRIC_ACK: 'warn_metric_acknowledgement',
327
+ UPGRADE_CLOUD_ACCOUNT: 'upgrade_cloud_account',
328
+ START_TRIAL_MODAL: 'start_trial_modal',
329
+ CONFIRM_NOTIFY_ADMIN: 'confirm_notify_admin',
330
+ REMOVE_NEXT_STEPS_MODAL: 'remove_next_steps_modal',
331
+ MORE_CHANNELS: 'more_channels',
332
+ NEW_CHANNEL_FLOW: 'new_channel_flow',
333
+ CLOUD_PURCHASE: 'cloud_purchase',
334
+ DND_CUSTOM_TIME_PICKER: 'dnd_custom_time_picker',
335
+ CUSTOM_STATUS: 'custom_status',
336
+ COMMERCIAL_SUPPORT: 'commercial_support',
337
+ NO_INTERNET_CONNECTION: 'no_internet_connection',
338
+ JOIN_CHANNEL_PROMPT: 'join_channel_prompt',
339
+ COLLAPSED_REPLY_THREADS_MODAL: 'collapsed_reply_threads_modal',
340
+ };
341
+
342
+ export const Constants = {
343
+ SettingsTypes,
344
+ JobTypes,
345
+ Preferences,
346
+ SocketEvents,
347
+ ActionTypes,
348
+ UserStatuses,
349
+ // UserSearchOptions,
350
+ // TutorialSteps,
351
+ // PostTypes,
352
+ // ErrorPageTypes,
353
+ // AnnouncementBarTypes,
354
+ // AnnouncementBarMessages,
355
+ // FileTypes,
356
+ Locations,
357
+ // PostListRowListIds,
358
+ MAX_POST_VISIBILITY: 1000000,
359
+
360
+ // IGNORE_POST_TYPES: [
361
+ // PostTypes.JOIN_LEAVE,
362
+ // PostTypes.JOIN_TEAM,
363
+ // PostTypes.LEAVE_TEAM,
364
+ // PostTypes.JOIN_CHANNEL,
365
+ // PostTypes.LEAVE_CHANNEL,
366
+ // PostTypes.REMOVE_FROM_CHANNEL,
367
+ // PostTypes.ADD_REMOVE,
368
+ // ],
369
+
370
+ PayloadSources: keyMirror({
371
+ SERVER_ACTION: null,
372
+ VIEW_ACTION: null,
373
+ }),
374
+
375
+ // StatTypes,
376
+ STAT_MAX_ACTIVE_USERS: 20,
377
+ STAT_MAX_NEW_USERS: 20,
378
+
379
+ ScrollTypes: {
380
+ FREE: 1,
381
+ BOTTOM: 2,
382
+ SIDEBBAR_OPEN: 3,
383
+ NEW_MESSAGE: 4,
384
+ POST: 5,
385
+ },
386
+
387
+ // This is the same limit set https://github.com/mattermost/mattermost-server/blob/master/model/config.go#L105
388
+ MAXIMUM_LOGIN_ATTEMPTS_DEFAULT: 10,
389
+
390
+ // This is the same limit set https://github.com/mattermost/mattermost-server/blob/master/api4/team.go#L23
391
+ MAX_ADD_MEMBERS_BATCH: 256,
392
+
393
+ SPECIAL_MENTIONS: ['all', 'channel', 'here'],
394
+ SPECIAL_MENTIONS_REGEX: /(?:\B|\b_+)@(channel|all|here)(?!(\.|-|_)*[^\W_])/gi,
395
+ NOTIFY_ALL_MEMBERS: 5,
396
+ ALL_MEMBERS_MENTIONS_REGEX: /(?:\B|\b_+)@(channel|all)(?!(\.|-|_)*[^\W_])/gi,
397
+ DEFAULT_CHARACTER_LIMIT: 4000,
398
+ IMAGE_TYPE_GIF: 'gif',
399
+ TEXT_TYPES: ['txt', 'rtf'],
400
+ IMAGE_TYPES: ['jpg', 'gif', 'bmp', 'png', 'jpeg', 'tiff', 'tif', 'psd'],
401
+ AUDIO_TYPES: ['mp3', 'wav', 'wma', 'm4a', 'flac', 'aac', 'ogg', 'm4r'],
402
+ VIDEO_TYPES: ['mp4', 'avi', 'webm', 'mkv', 'wmv', 'mpg', 'mov', 'flv'],
403
+ PRESENTATION_TYPES: ['ppt', 'pptx'],
404
+ SPREADSHEET_TYPES: ['xlsx', 'csv'],
405
+ WORD_TYPES: ['doc', 'docx'],
406
+ CHANNEL_HEADER_HEIGHT: 62,
407
+ CODE_TYPES: [
408
+ 'applescript',
409
+ 'as',
410
+ 'atom',
411
+ 'bas',
412
+ 'bash',
413
+ 'boot',
414
+ 'c',
415
+ 'c++',
416
+ 'cake',
417
+ 'cc',
418
+ 'cjsx',
419
+ 'cl2',
420
+ 'clj',
421
+ 'cljc',
422
+ 'cljs',
423
+ 'cljs.hl',
424
+ 'cljscm',
425
+ 'cljx',
426
+ '_coffee',
427
+ 'coffee',
428
+ 'cpp',
429
+ 'cs',
430
+ 'csharp',
431
+ 'cson',
432
+ 'css',
433
+ 'd',
434
+ 'dart',
435
+ 'delphi',
436
+ 'dfm',
437
+ 'di',
438
+ 'diff',
439
+ 'django',
440
+ 'docker',
441
+ 'dockerfile',
442
+ 'dpr',
443
+ 'erl',
444
+ 'ex',
445
+ 'exs',
446
+ 'f90',
447
+ 'f95',
448
+ 'freepascal',
449
+ 'fs',
450
+ 'fsharp',
451
+ 'gcode',
452
+ 'gemspec',
453
+ 'go',
454
+ 'groovy',
455
+ 'gyp',
456
+ 'h',
457
+ 'h++',
458
+ 'handlebars',
459
+ 'hbs',
460
+ 'hic',
461
+ 'hpp',
462
+ 'hs',
463
+ 'html',
464
+ 'html.handlebars',
465
+ 'html.hbs',
466
+ 'hx',
467
+ 'iced',
468
+ 'irb',
469
+ 'java',
470
+ 'jinja',
471
+ 'jl',
472
+ 'js',
473
+ 'json',
474
+ 'jsp',
475
+ 'jsx',
476
+ 'kt',
477
+ 'ktm',
478
+ 'kts',
479
+ 'lazarus',
480
+ 'less',
481
+ 'lfm',
482
+ 'lisp',
483
+ 'log',
484
+ 'lpr',
485
+ 'lua',
486
+ 'm',
487
+ 'mak',
488
+ 'matlab',
489
+ 'md',
490
+ 'mk',
491
+ 'mkd',
492
+ 'mkdown',
493
+ 'ml',
494
+ 'mm',
495
+ 'nc',
496
+ 'obj-c',
497
+ 'objc',
498
+ 'osascript',
499
+ 'pas',
500
+ 'pascal',
501
+ 'perl',
502
+ 'php',
503
+ 'php3',
504
+ 'php4',
505
+ 'php5',
506
+ 'php6',
507
+ 'pl',
508
+ 'plist',
509
+ 'podspec',
510
+ 'pp',
511
+ 'ps',
512
+ 'ps1',
513
+ 'py',
514
+ 'r',
515
+ 'rb',
516
+ 'rs',
517
+ 'rss',
518
+ 'ruby',
519
+ 'scala',
520
+ 'scm',
521
+ 'scpt',
522
+ 'scss',
523
+ 'sh',
524
+ 'sld',
525
+ 'sql',
526
+ 'st',
527
+ 'styl',
528
+ 'swift',
529
+ 'tex',
530
+ 'thor',
531
+ 'v',
532
+ 'vb',
533
+ 'vbnet',
534
+ 'vbs',
535
+ 'veo',
536
+ 'xhtml',
537
+ 'xml',
538
+ 'xsl',
539
+ 'yaml',
540
+ 'zsh',
541
+ ],
542
+ PDF_TYPES: ['pdf'],
543
+ PATCH_TYPES: ['patch'],
544
+ SVG_TYPES: ['svg'],
545
+ // ICON_FROM_TYPE: {
546
+ // audio: audioIcon,
547
+ // video: videoIcon,
548
+ // spreadsheet: excelIcon,
549
+ // presentation: pptIcon,
550
+ // pdf: pdfIcon,
551
+ // code: codeIcon,
552
+ // word: wordIcon,
553
+ // patch: patchIcon,
554
+ // other: genericIcon,
555
+ // },
556
+ ICON_NAME_FROM_TYPE: {
557
+ text: 'text',
558
+ audio: 'audio',
559
+ video: 'video',
560
+ spreadsheet: 'excel',
561
+ presentation: 'ppt',
562
+ pdf: 'pdf',
563
+ code: 'code',
564
+ word: 'word',
565
+ patch: 'patch',
566
+ other: 'generic',
567
+ image: 'image',
568
+ },
569
+ MAX_UPLOAD_FILES: 10,
570
+ MAX_FILENAME_LENGTH: 35,
571
+ EXPANDABLE_INLINE_IMAGE_MIN_HEIGHT: 100,
572
+ THUMBNAIL_WIDTH: 128,
573
+ THUMBNAIL_HEIGHT: 100,
574
+ PREVIEWER_HEIGHT: 170,
575
+ WEB_VIDEO_WIDTH: 640,
576
+ WEB_VIDEO_HEIGHT: 480,
577
+ MOBILE_VIDEO_WIDTH: 480,
578
+ MOBILE_VIDEO_HEIGHT: 360,
579
+ MOBILE_SCREEN_WIDTH: 768,
580
+ POST_MODAL_PADDING: 170,
581
+ SCROLL_DELAY: 2000,
582
+ SCROLL_PAGE_FRACTION: 3,
583
+ DEFAULT_CHANNEL: 'town-square',
584
+ DEFAULT_CHANNEL_UI_NAME: 'Town Square',
585
+ OFFTOPIC_CHANNEL: 'off-topic',
586
+ OFFTOPIC_CHANNEL_UI_NAME: 'Off-Topic',
587
+ GITLAB_SERVICE: 'gitlab',
588
+ GOOGLE_SERVICE: 'google',
589
+ OFFICE365_SERVICE: 'office365',
590
+ OAUTH_SERVICES: ['gitlab', 'google', 'office365', 'openid'],
591
+ OPENID_SERVICE: 'openid',
592
+ OPENID_SCOPES: 'profile openid email',
593
+ EMAIL_SERVICE: 'email',
594
+ LDAP_SERVICE: 'ldap',
595
+ SAML_SERVICE: 'saml',
596
+ USERNAME_SERVICE: 'username',
597
+ SIGNIN_CHANGE: 'signin_change',
598
+ PASSWORD_CHANGE: 'password_change',
599
+ GET_TERMS_ERROR: 'get_terms_error',
600
+ TERMS_REJECTED: 'terms_rejected',
601
+ SIGNIN_VERIFIED: 'verified',
602
+ CREATE_LDAP: 'create_ldap',
603
+ SESSION_EXPIRED: 'expired',
604
+ POST_AREA_HEIGHT: 80,
605
+ POST_CHUNK_SIZE: 60,
606
+ PROFILE_CHUNK_SIZE: 100,
607
+ POST_FOCUS_CONTEXT_RADIUS: 10,
608
+ POST_LOADING: 'loading',
609
+ POST_FAILED: 'failed',
610
+ POST_DELETED: 'deleted',
611
+ POST_UPDATED: 'updated',
612
+ SYSTEM_MESSAGE_PREFIX: 'system_',
613
+ SUGGESTION_LIST_MAXHEIGHT: 292,
614
+ SUGGESTION_LIST_SPACE_RHS: 420,
615
+ SUGGESTION_LIST_MODAL_WIDTH: 496,
616
+ MENTION_NAME_PADDING_LEFT: 2.4,
617
+ AVATAR_WIDTH: 24,
618
+ AUTO_RESPONDER: 'system_auto_responder',
619
+ // SYSTEM_MESSAGE_PROFILE_IMAGE: logoImage,
620
+ RESERVED_TEAM_NAMES: [
621
+ 'signup',
622
+ 'login',
623
+ 'admin',
624
+ 'channel',
625
+ 'post',
626
+ 'api',
627
+ 'oauth',
628
+ 'error',
629
+ 'help',
630
+ 'plugins',
631
+ 'playbooks',
632
+ 'boards',
633
+ ],
634
+ RESERVED_USERNAMES: ['valet', 'all', 'channel', 'here', 'matterbot', 'system'],
635
+ MONTHS: [
636
+ 'January',
637
+ 'February',
638
+ 'March',
639
+ 'April',
640
+ 'May',
641
+ 'June',
642
+ 'July',
643
+ 'August',
644
+ 'September',
645
+ 'October',
646
+ 'November',
647
+ 'December',
648
+ ],
649
+ MAX_DMS: 20,
650
+ MAX_USERS_IN_GM: 8,
651
+ MIN_USERS_IN_GM: 3,
652
+ MAX_CHANNEL_POPOVER_COUNT: 100,
653
+ DM_CHANNEL: 'D',
654
+ GM_CHANNEL: 'G',
655
+ OPEN_CHANNEL: 'O',
656
+ PRIVATE_CHANNEL: 'P',
657
+ ARCHIVED_CHANNEL: 'archive',
658
+ INVITE_TEAM: 'I',
659
+ OPEN_TEAM: 'O',
660
+ MAX_POST_LEN: 4000,
661
+ EMOJI_SIZE: 16,
662
+ DEFAULT_EMOJI_PICKER_LEFT_OFFSET: 87,
663
+ DEFAULT_EMOJI_PICKER_RIGHT_OFFSET: 15,
664
+ EMOJI_PICKER_WIDTH_OFFSET: 295,
665
+ THEME_ELEMENTS: [
666
+ {
667
+ group: 'sidebarElements',
668
+ id: 'sidebarBg',
669
+ uiName: 'Sidebar BG',
670
+ },
671
+ {
672
+ group: 'sidebarElements',
673
+ id: 'sidebarText',
674
+ uiName: 'Sidebar Text',
675
+ },
676
+ {
677
+ group: 'sidebarElements',
678
+ id: 'sidebarHeaderBg',
679
+ uiName: 'Sidebar Header BG',
680
+ },
681
+ {
682
+ group: 'sidebarElements',
683
+ id: 'sidebarTeamBarBg',
684
+ uiName: 'Team Sidebar BG',
685
+ },
686
+ {
687
+ group: 'sidebarElements',
688
+ id: 'sidebarHeaderTextColor',
689
+ uiName: 'Sidebar Header Text',
690
+ },
691
+ {
692
+ group: 'sidebarElements',
693
+ id: 'sidebarUnreadText',
694
+ uiName: 'Sidebar Unread Text',
695
+ },
696
+ {
697
+ group: 'sidebarElements',
698
+ id: 'sidebarTextHoverBg',
699
+ uiName: 'Sidebar Text Hover BG',
700
+ },
701
+ {
702
+ group: 'sidebarElements',
703
+ id: 'sidebarTextActiveBorder',
704
+ uiName: 'Sidebar Text Active Border',
705
+ },
706
+ {
707
+ group: 'sidebarElements',
708
+ id: 'sidebarTextActiveColor',
709
+ uiName: 'Sidebar Text Active Color',
710
+ },
711
+ {
712
+ group: 'sidebarElements',
713
+ id: 'onlineIndicator',
714
+ uiName: 'Online Indicator',
715
+ },
716
+ {
717
+ group: 'sidebarElements',
718
+ id: 'awayIndicator',
719
+ uiName: 'Away Indicator',
720
+ },
721
+ {
722
+ group: 'sidebarElements',
723
+ id: 'dndIndicator',
724
+ uiName: 'Away Indicator',
725
+ },
726
+ {
727
+ group: 'sidebarElements',
728
+ id: 'mentionBg',
729
+ uiName: 'Mention Jewel BG',
730
+ },
731
+ {
732
+ group: 'sidebarElements',
733
+ id: 'mentionColor',
734
+ uiName: 'Mention Jewel Text',
735
+ },
736
+ {
737
+ group: 'centerChannelElements',
738
+ id: 'centerChannelBg',
739
+ uiName: 'Center Channel BG',
740
+ },
741
+ {
742
+ group: 'centerChannelElements',
743
+ id: 'centerChannelColor',
744
+ uiName: 'Center Channel Text',
745
+ },
746
+ {
747
+ group: 'centerChannelElements',
748
+ id: 'newMessageSeparator',
749
+ uiName: 'New Message Separator',
750
+ },
751
+ {
752
+ group: 'centerChannelElements',
753
+ id: 'errorTextColor',
754
+ uiName: 'Error Text Color',
755
+ },
756
+ {
757
+ group: 'centerChannelElements',
758
+ id: 'mentionHighlightBg',
759
+ uiName: 'Mention Highlight BG',
760
+ },
761
+ {
762
+ group: 'linkAndButtonElements',
763
+ id: 'linkColor',
764
+ uiName: 'Link Color',
765
+ },
766
+ {
767
+ group: 'centerChannelElements',
768
+ id: 'mentionHighlightLink',
769
+ uiName: 'Mention Highlight Link',
770
+ },
771
+ {
772
+ group: 'linkAndButtonElements',
773
+ id: 'buttonBg',
774
+ uiName: 'Button BG',
775
+ },
776
+ {
777
+ group: 'linkAndButtonElements',
778
+ id: 'buttonColor',
779
+ uiName: 'Button Text',
780
+ },
781
+ {
782
+ group: 'centerChannelElements',
783
+ id: 'codeTheme',
784
+ uiName: 'Code Theme',
785
+ themes: [
786
+ {
787
+ id: 'solarized-dark',
788
+ uiName: 'Solarized Dark',
789
+ // cssURL: solarizedDarkCSS,
790
+ // iconURL: solarizedDarkIcon,
791
+ },
792
+ {
793
+ id: 'solarized-light',
794
+ uiName: 'Solarized Light',
795
+ // cssURL: solarizedLightCSS,
796
+ // iconURL: solarizedLightIcon,
797
+ },
798
+ {
799
+ id: 'github',
800
+ uiName: 'GitHub',
801
+ // cssURL: githubCSS,
802
+ // iconURL: githubIcon,
803
+ },
804
+ {
805
+ id: 'monokai',
806
+ uiName: 'Monokai',
807
+ // cssURL: monokaiCSS,
808
+ // iconURL: monokaiIcon,
809
+ },
810
+ ],
811
+ },
812
+ ],
813
+ DEFAULT_CODE_THEME: 'github',
814
+
815
+ // KeyCodes
816
+ // key[0]: used for KeyboardEvent.key
817
+ // key[1]: used for KeyboardEvent.keyCode
818
+ // key[2]: used for KeyboardEvent.code
819
+
820
+ // KeyboardEvent.code is used as primary check to support multiple keyborad layouts
821
+ // support of KeyboardEvent.code is just in chrome and firefox so using key and keyCode for better browser support
822
+
823
+ KeyCodes: {
824
+ BACKSPACE: ['Backspace', 8],
825
+ TAB: ['Tab', 9],
826
+ ENTER: ['Enter', 13],
827
+ SHIFT: ['Shift', 16],
828
+ CTRL: ['Control', 17],
829
+ ALT: ['Alt', 18],
830
+ CAPS_LOCK: ['CapsLock', 20],
831
+ ESCAPE: ['Escape', 27],
832
+ SPACE: [' ', 32],
833
+ PAGE_UP: ['PageUp', 33],
834
+ PAGE_DOWN: ['PageDown', 34],
835
+ END: ['End', 35],
836
+ HOME: ['Home', 36],
837
+ LEFT: ['ArrowLeft', 37],
838
+ UP: ['ArrowUp', 38],
839
+ RIGHT: ['ArrowRight', 39],
840
+ DOWN: ['ArrowDown', 40],
841
+ INSERT: ['Insert', 45],
842
+ DELETE: ['Delete', 46],
843
+ ZERO: ['0', 48],
844
+ ONE: ['1', 49],
845
+ TWO: ['2', 50],
846
+ THREE: ['3', 51],
847
+ FOUR: ['4', 52],
848
+ FIVE: ['5', 53],
849
+ SIX: ['6', 54],
850
+ SEVEN: ['7', 55],
851
+ EIGHT: ['8', 56],
852
+ NINE: ['9', 57],
853
+ A: ['a', 65],
854
+ B: ['b', 66],
855
+ C: ['c', 67],
856
+ D: ['d', 68],
857
+ E: ['e', 69],
858
+ F: ['f', 70],
859
+ G: ['g', 71],
860
+ H: ['h', 72],
861
+ I: ['i', 73],
862
+ J: ['j', 74],
863
+ K: ['k', 75],
864
+ L: ['l', 76],
865
+ M: ['m', 77],
866
+ N: ['n', 78],
867
+ O: ['o', 79],
868
+ P: ['p', 80],
869
+ Q: ['q', 81],
870
+ R: ['r', 82],
871
+ S: ['s', 83],
872
+ T: ['t', 84],
873
+ U: ['u', 85],
874
+ V: ['v', 86],
875
+ W: ['w', 87],
876
+ X: ['x', 88],
877
+ Y: ['y', 89],
878
+ Z: ['z', 90],
879
+ CMD: ['Meta', 91],
880
+ MENU: ['ContextMenu', 93],
881
+ NUMPAD_0: ['0', 96],
882
+ NUMPAD_1: ['1', 97],
883
+ NUMPAD_2: ['2', 98],
884
+ NUMPAD_3: ['3', 99],
885
+ NUMPAD_4: ['4', 100],
886
+ NUMPAD_5: ['5', 101],
887
+ NUMPAD_6: ['6', 102],
888
+ NUMPAD_7: ['7', 103],
889
+ NUMPAD_8: ['8', 104],
890
+ NUMPAD_9: ['9', 105],
891
+ MULTIPLY: ['*', 106],
892
+ ADD: ['+', 107],
893
+ SUBTRACT: ['-', 109],
894
+ DECIMAL: ['.', 110],
895
+ DIVIDE: ['/', 111],
896
+ F1: ['F1', 112],
897
+ F2: ['F2', 113],
898
+ F3: ['F3', 114],
899
+ F4: ['F4', 115],
900
+ F5: ['F5', 116],
901
+ F6: ['F6', 117],
902
+ F7: ['F7', 118],
903
+ F8: ['F8', 119],
904
+ F9: ['F9', 120],
905
+ F10: ['F10', 121],
906
+ F11: ['F11', 122],
907
+ F12: ['F12', 123],
908
+ NUM_LOCK: ['NumLock', 144],
909
+ SEMICOLON: [';', 186],
910
+ EQUAL: ['=', 187],
911
+ COMMA: [',', 188],
912
+ DASH: ['-', 189],
913
+ PERIOD: ['.', 190],
914
+ FORWARD_SLASH: ['/', 191],
915
+ TILDE: ['~', 192], // coudnt find the key or even get code from browser - no reference in code as of now
916
+ OPEN_BRACKET: ['[', 219],
917
+ BACK_SLASH: ['\\', 220],
918
+ CLOSE_BRACKET: [']', 221],
919
+ COMPOSING: ['Composing', 229],
920
+ },
921
+ CODE_PREVIEW_MAX_FILE_SIZE: 500000, // 500 KB
922
+ HighlightedLanguages: {
923
+ actionscript: { name: 'ActionScript', extensions: ['as'], aliases: ['as', 'as3'] },
924
+ applescript: { name: 'AppleScript', extensions: ['applescript', 'osascript', 'scpt'] },
925
+ bash: { name: 'Bash', extensions: ['sh'], aliases: ['sh'] },
926
+ clojure: {
927
+ name: 'Clojure',
928
+ extensions: ['clj', 'boot', 'cl2', 'cljc', 'cljs', 'cljs.hl', 'cljscm', 'cljx', 'hic'],
929
+ },
930
+ coffeescript: {
931
+ name: 'CoffeeScript',
932
+ extensions: ['coffee', '_coffee', 'cake', 'cjsx', 'cson', 'iced'],
933
+ aliases: ['coffee', 'coffee-script'],
934
+ },
935
+ cpp: { name: 'C/C++', extensions: ['cpp', 'c', 'cc', 'h', 'c++', 'h++', 'hpp'], aliases: ['c++', 'c'] },
936
+ cs: { name: 'C#', extensions: ['cs', 'csharp'], aliases: ['c#', 'csharp'] },
937
+ css: { name: 'CSS', extensions: ['css'] },
938
+ d: { name: 'D', extensions: ['d', 'di'], aliases: ['dlang'] },
939
+ dart: { name: 'Dart', extensions: ['dart'] },
940
+ delphi: {
941
+ name: 'Delphi',
942
+ extensions: ['delphi', 'dpr', 'dfm', 'pas', 'pascal', 'freepascal', 'lazarus', 'lpr', 'lfm'],
943
+ },
944
+ diff: { name: 'Diff', extensions: ['diff', 'patch'], aliases: ['patch', 'udiff'] },
945
+ django: { name: 'Django', extensions: ['django', 'jinja'] },
946
+ dockerfile: { name: 'Dockerfile', extensions: ['dockerfile', 'docker'], aliases: ['docker'] },
947
+ elixir: { name: 'Elixir', extensions: ['ex', 'exs'], aliases: ['ex', 'exs'] },
948
+ erlang: { name: 'Erlang', extensions: ['erl'], aliases: ['erl'] },
949
+ fortran: { name: 'Fortran', extensions: ['f90', 'f95'] },
950
+ fsharp: { name: 'F#', extensions: ['fsharp', 'fs'] },
951
+ gcode: { name: 'G-Code', extensions: ['gcode', 'nc'] },
952
+ go: { name: 'Go', extensions: ['go'], aliases: ['golang'] },
953
+ groovy: { name: 'Groovy', extensions: ['groovy'] },
954
+ handlebars: {
955
+ name: 'Handlebars',
956
+ extensions: ['handlebars', 'hbs', 'html.hbs', 'html.handlebars'],
957
+ aliases: ['hbs', 'mustache'],
958
+ },
959
+ haskell: { name: 'Haskell', extensions: ['hs'], aliases: ['hs'] },
960
+ haxe: { name: 'Haxe', extensions: ['hx'] },
961
+ java: { name: 'Java', extensions: ['java', 'jsp'] },
962
+ javascript: { name: 'JavaScript', extensions: ['js', 'jsx'], aliases: ['js'] },
963
+ json: { name: 'JSON', extensions: ['json'] },
964
+ julia: { name: 'Julia', extensions: ['jl'], aliases: ['jl'] },
965
+ kotlin: { name: 'Kotlin', extensions: ['kt', 'ktm', 'kts'] },
966
+ latex: { name: 'LaTeX', extensions: ['tex'], aliases: ['tex'] },
967
+ less: { name: 'Less', extensions: ['less'] },
968
+ lisp: { name: 'Lisp', extensions: ['lisp'] },
969
+ lua: { name: 'Lua', extensions: ['lua'] },
970
+ makefile: { name: 'Makefile', extensions: ['mk', 'mak'], aliases: ['make', 'mf', 'gnumake', 'bsdmake'] },
971
+ markdown: { name: 'Markdown', extensions: ['md', 'mkdown', 'mkd'], aliases: ['md', 'mkd'] },
972
+ matlab: { name: 'Matlab', extensions: ['matlab', 'm'], aliases: ['m'] },
973
+ objectivec: { name: 'Objective C', extensions: ['mm', 'objc', 'obj-c'], aliases: ['objective_c', 'objc'] },
974
+ ocaml: { name: 'OCaml', extensions: ['ml'] },
975
+ perl: { name: 'Perl', extensions: ['perl', 'pl'], aliases: ['pl'] },
976
+ pgsql: {
977
+ name: 'PostgreSQL',
978
+ extensions: ['pgsql', 'postgres', 'postgresql'],
979
+ aliases: ['postgres', 'postgresql'],
980
+ },
981
+ php: { name: 'PHP', extensions: ['php', 'php3', 'php4', 'php5', 'php6'], aliases: ['php3', 'php4', 'php5'] },
982
+ powershell: { name: 'PowerShell', extensions: ['ps', 'ps1'], aliases: ['posh'] },
983
+ puppet: { name: 'Puppet', extensions: ['pp'], aliases: ['pp'] },
984
+ python: { name: 'Python', extensions: ['py', 'gyp'], aliases: ['py'] },
985
+ r: { name: 'R', extensions: ['r'], aliases: ['r', 's'] },
986
+ ruby: { name: 'Ruby', extensions: ['ruby', 'rb', 'gemspec', 'podspec', 'thor', 'irb'], aliases: ['rb'] },
987
+ rust: { name: 'Rust', extensions: ['rs'], aliases: ['rs'] },
988
+ scala: { name: 'Scala', extensions: ['scala'] },
989
+ scheme: { name: 'Scheme', extensions: ['scm', 'sld'] },
990
+ scss: { name: 'SCSS', extensions: ['scss'] },
991
+ smalltalk: { name: 'Smalltalk', extensions: ['st'], aliases: ['st', 'squeak'] },
992
+ sql: { name: 'SQL', extensions: ['sql'] },
993
+ stylus: { name: 'Stylus', extensions: ['styl'], aliases: ['styl'] },
994
+ swift: { name: 'Swift', extensions: ['swift'] },
995
+ text: { name: 'Text', extensions: ['txt', 'log'] },
996
+ typescript: { name: 'TypeScript', extensions: ['ts', 'tsx'], aliases: ['ts', 'tsx'] },
997
+ vbnet: { name: 'VB.Net', extensions: ['vbnet', 'vb', 'bas'], aliases: ['vb', 'visualbasic'] },
998
+ vbscript: { name: 'VBScript', extensions: ['vbs'] },
999
+ verilog: { name: 'Verilog', extensions: ['v', 'veo', 'sv', 'svh'] },
1000
+ vhdl: { name: 'VHDL', extensions: ['vhd', 'vhdl'] },
1001
+ xml: { name: 'HTML, XML', extensions: ['xml', 'html', 'xhtml', 'rss', 'atom', 'xsl', 'plist'] },
1002
+ yaml: { name: 'YAML', extensions: ['yaml'], aliases: ['yml'] },
1003
+ },
1004
+ PostsViewJumpTypes: {
1005
+ BOTTOM: 1,
1006
+ POST: 2,
1007
+ SIDEBAR_OPEN: 3,
1008
+ },
1009
+ NotificationPrefs: {
1010
+ MENTION: 'mention',
1011
+ },
1012
+ Integrations: {
1013
+ COMMAND: 'commands',
1014
+ PAGE_SIZE: '10000',
1015
+ START_PAGE_NUM: 0,
1016
+ INCOMING_WEBHOOK: 'incoming_webhooks',
1017
+ OUTGOING_WEBHOOK: 'outgoing_webhooks',
1018
+ OAUTH_APP: 'oauth2-apps',
1019
+ BOT: 'bots',
1020
+ EXECUTE_CURRENT_COMMAND_ITEM_ID: '_execute_current_command',
1021
+ COMMAND_SUGGESTION_ERROR: 'error',
1022
+ COMMAND_SUGGESTION_CHANNEL: 'channel',
1023
+ COMMAND_SUGGESTION_USER: 'user',
1024
+ },
1025
+ FeatureTogglePrefix: 'feature_enabled_',
1026
+ PRE_RELEASE_FEATURES: {
1027
+ MARKDOWN_PREVIEW: {
1028
+ label: 'markdown_preview', // github issue: https://github.com/mattermost/platform/pull/1389
1029
+ description: 'Show markdown preview option in message input box',
1030
+ },
1031
+ },
1032
+ OVERLAY_TIME_DELAY_SMALL: 100,
1033
+ OVERLAY_TIME_DELAY: 400,
1034
+ PERMALINK_FADEOUT: 5000,
1035
+ DEFAULT_MAX_USERS_PER_TEAM: 50,
1036
+ DEFAULT_MAX_CHANNELS_PER_TEAM: 2000,
1037
+ DEFAULT_MAX_NOTIFICATIONS_PER_CHANNEL: 1000,
1038
+ MIN_TEAMNAME_LENGTH: 2,
1039
+ MAX_TEAMNAME_LENGTH: 15,
1040
+ MAX_TEAMDESCRIPTION_LENGTH: 50,
1041
+ MIN_CHANNELNAME_LENGTH: 2,
1042
+ MAX_CHANNELNAME_LENGTH: 64,
1043
+ MAX_FIRSTNAME_LENGTH: 64,
1044
+ MAX_LASTNAME_LENGTH: 64,
1045
+ MAX_EMAIL_LENGTH: 128,
1046
+ MIN_USERNAME_LENGTH: 3,
1047
+ MAX_USERNAME_LENGTH: 22,
1048
+ MAX_NICKNAME_LENGTH: 22,
1049
+ MIN_PASSWORD_LENGTH: 5,
1050
+ MAX_PASSWORD_LENGTH: 64,
1051
+ MAX_POSITION_LENGTH: 128,
1052
+ MIN_TRIGGER_LENGTH: 1,
1053
+ MAX_TRIGGER_LENGTH: 128,
1054
+ MAX_SITENAME_LENGTH: 30,
1055
+ MAX_CUSTOM_BRAND_TEXT_LENGTH: 500,
1056
+ MAX_TERMS_OF_SERVICE_TEXT_LENGTH: 16383,
1057
+ DEFAULT_TERMS_OF_SERVICE_RE_ACCEPTANCE_PERIOD: 365,
1058
+ EMOJI_PATH: '/static/emoji',
1059
+ RECENT_EMOJI_KEY: 'recentEmojis',
1060
+ // DEFAULT_WEBHOOK_LOGO: logoWebhook,
1061
+ MHPNS: 'https://push.mattermost.com',
1062
+ MTPNS: 'https://push-test.mattermost.com',
1063
+ MAX_PREV_MSGS: 100,
1064
+ POST_COLLAPSE_TIMEOUT: 1000 * 60 * 5, // five minutes
1065
+ PERMISSIONS_ALL: 'all',
1066
+ PERMISSIONS_CHANNEL_ADMIN: 'channel_admin',
1067
+ PERMISSIONS_TEAM_ADMIN: 'team_admin',
1068
+ PERMISSIONS_SYSTEM_ADMIN: 'system_admin',
1069
+ PERMISSIONS_SYSTEM_READ_ONLY_ADMIN: 'system_read_only_admin',
1070
+ PERMISSIONS_SYSTEM_USER_MANAGER: 'system_user_manager',
1071
+ PERMISSIONS_SYSTEM_MANAGER: 'system_manager',
1072
+ PERMISSIONS_DELETE_POST_ALL: 'all',
1073
+ PERMISSIONS_DELETE_POST_TEAM_ADMIN: 'team_admin',
1074
+ PERMISSIONS_DELETE_POST_SYSTEM_ADMIN: 'system_admin',
1075
+ ALLOW_EDIT_POST_ALWAYS: 'always',
1076
+ ALLOW_EDIT_POST_NEVER: 'never',
1077
+ ALLOW_EDIT_POST_TIME_LIMIT: 'time_limit',
1078
+ UNSET_POST_EDIT_TIME_LIMIT: -1,
1079
+ MENTION_CHANNELS: 'mention.channels',
1080
+ MENTION_MORE_CHANNELS: 'mention.morechannels',
1081
+ MENTION_UNREAD_CHANNELS: 'mention.unread.channels',
1082
+ MENTION_MEMBERS: 'mention.members',
1083
+ MENTION_MORE_MEMBERS: 'mention.moremembers',
1084
+ MENTION_NONMEMBERS: 'mention.nonmembers',
1085
+ MENTION_PUBLIC_CHANNELS: 'mention.public.channels',
1086
+ MENTION_RECENT_CHANNELS: 'mention.recent.channels',
1087
+ MENTION_SPECIAL: 'mention.special',
1088
+ MENTION_GROUPS: 'mention.groups',
1089
+ DEFAULT_NOTIFICATION_DURATION: 5000,
1090
+ STATUS_INTERVAL: 60000,
1091
+ AUTOCOMPLETE_TIMEOUT: 100,
1092
+ AUTOCOMPLETE_SPLIT_CHARACTERS: ['.', '-', '_'],
1093
+ ANIMATION_TIMEOUT: 1000,
1094
+ SEARCH_TIMEOUT_MILLISECONDS: 100,
1095
+ TELEMETRY_RUDDER_KEY: 'placeholder_rudder_key',
1096
+ TELEMETRY_RUDDER_DATAPLANE_URL: 'placeholder_rudder_dataplane_url',
1097
+ TEAMMATE_NAME_DISPLAY: {
1098
+ SHOW_USERNAME: 'username',
1099
+ SHOW_NICKNAME_FULLNAME: 'nickname_full_name',
1100
+ SHOW_FULLNAME: 'full_name',
1101
+ },
1102
+ SEARCH_POST: 'searchpost',
1103
+ CHANNEL_ID_LENGTH: 26,
1104
+ TRANSPARENT_PIXEL:
1105
+ 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=',
1106
+ TRIPLE_BACK_TICKS: /```/g,
1107
+ MAX_ATTACHMENT_FOOTER_LENGTH: 300,
1108
+ ACCEPT_STATIC_IMAGE: '.jpeg,.jpg,.png,.bmp',
1109
+ ACCEPT_EMOJI_IMAGE: '.jpeg,.jpg,.png,.gif',
1110
+ };
1111
+
1112
+ export const PostListRowListIds = {
1113
+ DATE_LINE: PostListUtils.DATE_LINE,
1114
+ START_OF_NEW_MESSAGES: PostListUtils.START_OF_NEW_MESSAGES,
1115
+ CHANNEL_INTRO_MESSAGE: 'CHANNEL_INTRO_MESSAGE',
1116
+ OLDER_MESSAGES_LOADER: 'OLDER_MESSAGES_LOADER',
1117
+ NEWER_MESSAGES_LOADER: 'NEWER_MESSAGES_LOADER',
1118
+ LOAD_OLDER_MESSAGES_TRIGGER: 'LOAD_OLDER_MESSAGES_TRIGGER',
1119
+ LOAD_NEWER_MESSAGES_TRIGGER: 'LOAD_NEWER_MESSAGES_TRIGGER',
1120
+ };