summaryrefslogtreecommitdiffstats
path: root/webapp/utils
diff options
context:
space:
mode:
authorAkihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>2017-02-08 00:20:01 +0900
committerenahum <nahumhbl@gmail.com>2017-02-07 07:20:01 -0800
commit68a05653ea6f2588a27c8ce523b0d213e48f6480 (patch)
tree4b99b1f3424ae83a4908386d53caa7dd09f8bf54 /webapp/utils
parent9bdea0de80a21b214eb9041057ab8e3fea681a8b (diff)
downloadchat-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')
-rw-r--r--webapp/utils/url.jsx29
-rw-r--r--webapp/utils/utils.jsx38
2 files changed, 29 insertions, 38 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 : '');
+}
diff --git a/webapp/utils/utils.jsx b/webapp/utils/utils.jsx
index 90e2ad63e..c639abc56 100644
--- a/webapp/utils/utils.jsx
+++ b/webapp/utils/utils.jsx
@@ -27,14 +27,6 @@ export function isEmail(email) {
return (/^.+@.+$/).test(email);
}
-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 isMac() {
return navigator.platform.toUpperCase().indexOf('MAC') >= 0;
}
@@ -996,17 +988,6 @@ export function fileSizeToString(bytes) {
return bytes + 'B';
}
-// Converts a filename (like those attached to Post objects) to a url that can be used to retrieve attachments from the server.
-export function getFileUrl(filename) {
- return Client.getFilesRoute() + '/get' + filename;
-}
-
-// Gets the name of a file (including extension) from a given url or file path.
-export function getFileName(path) {
- var split = path.split('/');
- return split[split.length - 1];
-}
-
// Gets the websocket port to use. Configurable on the server.
export function getWebsocketPort(protocol) {
if ((/^wss:/).test(protocol)) { // wss://
@@ -1078,13 +1059,6 @@ export function importSlack(file, success, error) {
Client.importSlack(formData, success, error);
}
-export function getShortenedTeamURL(teamURL = '') {
- if (teamURL.length > 35) {
- return teamURL.substring(0, 10) + '...' + teamURL.substring(teamURL.length - 12, teamURL.length) + '/';
- }
- return teamURL + '/';
-}
-
export function windowWidth() {
return $(window).width();
}
@@ -1274,18 +1248,6 @@ export function isValidPassword(password) {
return errorMsg;
}
-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 : '');
-}
-
export function handleFormattedTextClick(e) {
const mentionAttribute = e.target.getAttributeNode('data-mention');
const hashtagAttribute = e.target.getAttributeNode('data-hashtag');