mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
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.
30 lines
964 B
JavaScript
30 lines
964 B
JavaScript
// 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 : '');
|
|
}
|