From 68a05653ea6f2588a27c8ce523b0d213e48f6480 Mon Sep 17 00:00:00 2001 From: Akihiko Odaki Date: Wed, 8 Feb 2017 00:20:01 +0900 Subject: 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. --- webapp/utils/url.jsx | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 webapp/utils/url.jsx (limited to 'webapp/utils/url.jsx') 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 : ''); +} -- cgit v1.2.3-1-g7c22