diff options
author | Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp> | 2017-02-08 00:20:01 +0900 |
---|---|---|
committer | enahum <nahumhbl@gmail.com> | 2017-02-07 07:20:01 -0800 |
commit | 68a05653ea6f2588a27c8ce523b0d213e48f6480 (patch) | |
tree | 4b99b1f3424ae83a4908386d53caa7dd09f8bf54 /webapp/utils/url.jsx | |
parent | 9bdea0de80a21b214eb9041057ab8e3fea681a8b (diff) | |
download | chat-68a05653ea6f2588a27c8ce523b0d213e48f6480.tar.gz chat-68a05653ea6f2588a27c8ce523b0d213e48f6480.tar.bz2 chat-68a05653ea6f2588a27c8ce523b0d213e48f6480.zip |
Add webapp/utils/url.jsx (#5285)
webapp/utils/utils.jsx got big and that caused a potential circular
dependency with webapp/stores/team_store.jsx. This change solves the
issue by introducing webapp/utils/url.jsx and moving URL-related
functions, which is not likely to depend on actions and stores, from
webapp/utils/utils.jsx.
Diffstat (limited to 'webapp/utils/url.jsx')
-rw-r--r-- | webapp/utils/url.jsx | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/webapp/utils/url.jsx b/webapp/utils/url.jsx new file mode 100644 index 000000000..9fe00da6f --- /dev/null +++ b/webapp/utils/url.jsx @@ -0,0 +1,29 @@ +// Copyright (c) 2017 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +export function cleanUpUrlable(input) { + var cleaned = input.trim().replace(/-/g, ' ').replace(/[^\w\s]/gi, '').toLowerCase().replace(/\s/g, '-'); + cleaned = cleaned.replace(/-{2,}/, '-'); + cleaned = cleaned.replace(/^-+/, ''); + cleaned = cleaned.replace(/-+$/, ''); + return cleaned; +} + +export function getShortenedTeamURL(teamURL = '') { + if (teamURL.length > 35) { + return teamURL.substring(0, 10) + '...' + teamURL.substring(teamURL.length - 12, teamURL.length) + '/'; + } + return teamURL + '/'; +} + +export function getSiteURL() { + if (global.mm_config.SiteURL) { + return global.mm_config.SiteURL; + } + + if (window.location.origin) { + return window.location.origin; + } + + return window.location.protocol + '//' + window.location.hostname + (window.location.port ? ':' + window.location.port : ''); +} |