shell, wip
diff --git a/planetstack/core/dashboard/shell/opencloud.js b/planetstack/core/dashboard/shell/opencloud.js
new file mode 100644
index 0000000..52c9e5c
--- /dev/null
+++ b/planetstack/core/dashboard/shell/opencloud.js
@@ -0,0 +1,35 @@
+var opencloud_data = [];
+var opencloud_data_received = false;
+
+function updateOpenCloud(onLoaded) {
+ $.ajax({url: "/admin/shelldata",
+ dataType: "json",
+ type: "GET",
+ success: function(data) {
+ opencloud_data = data;
+ if (!opencloud_data_received) {
+ opencloud_data_received = true;
+ if (onLoaded!=null) {
+ onLoaded();
+ }
+ }
+ // do this again in 30 seconds
+ setTimeout(function() {updateOpenCloud(onLoaded)}, 10000);
+ },
+ error: function() {
+ console.log("something went wrong. trying again");
+ // do this again in 30 seconds
+ setTimeout(function() {updateOpenCloud(onLoaded)}, 10000);
+ }
+ });
+}
+
+function Slices() {
+ this.listAll = function() { return opencloud_data["slices"] }
+ this.__str__ = function() { return '["listAll"]'; }
+}
+
+function OpenCloud() {
+ this.slices = new Slices()
+ this.__str__ = function() { return '["slices"]'; }
+};