diff options
Diffstat (limited to 'fg21sim/webui/static/js/main.js')
-rw-r--r-- | fg21sim/webui/static/js/main.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/fg21sim/webui/static/js/main.js b/fg21sim/webui/static/js/main.js index 5b0e7ec..c714f26 100644 --- a/fg21sim/webui/static/js/main.js +++ b/fg21sim/webui/static/js/main.js @@ -9,6 +9,52 @@ /** + * Generic utilities + */ + +/** + * Get the basename of a path + * FIXME: only support "/" as the path separator + */ +var basename = function (path) { + return path.replace(/^.*\//, ""); +}; + +/** + * Get the dirname of a path + * FIXME: only support "/" as the path separator + */ +var dirname = function (path) { + var dir = path.replace(/\/[^\/]*\/?$/, ""); + if (dir === "") { + dir = "/"; + } + return dir; +}; + +/** + * Join the two path + * FIXME: only support "/" as the path separator + */ +var joinPath = function (path1, path2) { + var p = null; + // Strip the trailing path separator + path1 = path1.replace(/\/$/, ""); + if (path1 === "") { + p = path2; + } else { + p = path1 + "/" + path2; + } + // Both "path1" and "path2" are empty + if (p === "/") { + console.error("Both 'path1' and 'path2' are empty"); + p = null; + } + return p; +}; + + +/** * jQuery AJAX global callbacks using the global AJAX event handler methods * * NOTE: |