aboutsummaryrefslogtreecommitdiffstats
path: root/fg21sim/webui/static/js/main.js
diff options
context:
space:
mode:
Diffstat (limited to 'fg21sim/webui/static/js/main.js')
-rw-r--r--fg21sim/webui/static/js/main.js46
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: