From 3ecd83ba7d5eba499aa8050bd56dde4afa7ba025 Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Sun, 23 Dec 2012 17:52:23 -0800 Subject: [PATCH] newui: wrap camli.js; make permanode creation work again Change-Id: Ia4ef0428e905006402cd2ef34b819b6584ed8f23 --- server/camlistored/newui/blob_item_container.js | 8 +++++++- server/camlistored/newui/index.html | 11 +++++++++++ server/camlistored/newui/server_connection.js | 12 ++++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/server/camlistored/newui/blob_item_container.js b/server/camlistored/newui/blob_item_container.js index 43e9f5e65..ed21d3170 100644 --- a/server/camlistored/newui/blob_item_container.js +++ b/server/camlistored/newui/blob_item_container.js @@ -13,6 +13,7 @@ goog.require('goog.events.EventType'); goog.require('goog.ui.Container'); goog.require('camlistore.BlobItem'); goog.require('camlistore.CreateItem'); +goog.require('camlistore.ServerConnection'); /** @@ -138,7 +139,12 @@ camlistore.BlobItemContainer.prototype.resetChildren_ = function() { this.eh_.listen( createItem.getElement(), goog.events.EventType.CLICK, function() { - console.log('Clicked'); + this.connection_.createPermanode(function(p) { + window.location = "../?p=" + p; + }); + }, + function(failMsg) { + console.log("Failed to create permanode: " + failMsg); }); } } diff --git a/server/camlistored/newui/index.html b/server/camlistored/newui/index.html index 534836a47..9a08564ca 100644 --- a/server/camlistored/newui/index.html +++ b/server/camlistored/newui/index.html @@ -4,6 +4,17 @@ + + + + + + + + + diff --git a/server/camlistored/newui/server_connection.js b/server/camlistored/newui/server_connection.js index 29a50d49a..9e472a582 100644 --- a/server/camlistored/newui/server_connection.js +++ b/server/camlistored/newui/server_connection.js @@ -73,3 +73,15 @@ camlistore.ServerConnection.prototype.getRecentlyUpdatedPermanodesDone_ = } success(result); }; + +/** + * @param {function(string)} success Success callback, called with permanode blobref. + * @param {Function=} opt_fail Optional fail callback. + */ +camlistore.ServerConnection.prototype.createPermanode = function(success, opt_fail) { + // TODO: stop depending on camli.js. For now, cheating: + camliCreateNewPermanode({ + success: success, + fail: opt_fail + }); +};