diff --git a/server/camlistored/newui/blob_item.css b/server/camlistored/newui/blob_item.css index 3c7788cb0..f21b716aa 100644 --- a/server/camlistored/newui/blob_item.css +++ b/server/camlistored/newui/blob_item.css @@ -4,7 +4,7 @@ border: 1px solid gray; padding: 8px; max-width: 250px; - float: left; + display: inline-block; overflow: hidden; text-align: center; } diff --git a/server/camlistored/newui/blob_item.js b/server/camlistored/newui/blob_item.js index 4ea289d99..c19689901 100644 --- a/server/camlistored/newui/blob_item.js +++ b/server/camlistored/newui/blob_item.js @@ -8,7 +8,7 @@ goog.require('goog.dom'); goog.require('goog.dom.classes'); goog.require('goog.events.EventHandler'); goog.require('goog.events.EventType'); -goog.require('goog.ui.Component'); +goog.require('goog.ui.Control'); @@ -60,7 +60,7 @@ camlistore.BlobItem = function(blobRef, metaBag, opt_domHelper) { */ this.eh_ = new goog.events.EventHandler(this); }; -goog.inherits(camlistore.BlobItem, goog.ui.Component); +goog.inherits(camlistore.BlobItem, goog.ui.Control); /** diff --git a/server/camlistored/newui/blob_item_container.js b/server/camlistored/newui/blob_item_container.js new file mode 100644 index 000000000..0d77f4f47 --- /dev/null +++ b/server/camlistored/newui/blob_item_container.js @@ -0,0 +1,77 @@ +/** + * @fileoverview TODO + * + */ +goog.provide('camlistore.BlobItemContainer'); + +goog.require('goog.dom'); +goog.require('goog.dom.classes'); +goog.require('goog.events.EventHandler'); +goog.require('goog.events.EventType'); +goog.require('goog.ui.Container'); +goog.require('camlistore.BlobItem'); + + + +/** + * @param {goog.dom.DomHelper=} opt_domHelper DOM helper to use. + * + * @extends {goog.ui.Container} + * @constructor + */ +camlistore.BlobItemContainer = function(opt_domHelper) { + goog.base(this, opt_domHelper); + /** + * @type {goog.events.EventHandler} + * @private + */ + this.eh_ = new goog.events.EventHandler(this); +}; +goog.inherits(camlistore.BlobItemContainer, goog.ui.Container); + + + +/** + * Creates an initial DOM representation for the component. + */ +camlistore.BlobItemContainer.prototype.createDom = function() { + this.decorateInternal(this.dom_.createElement('div')); +}; + + +/** + * Decorates an existing HTML DIV element. + * @param {Element} element The DIV element to decorate. + */ +camlistore.BlobItemContainer.prototype.decorateInternal = function(element) { + camlistore.BlobItemContainer.superClass_.decorateInternal.call(this, element); + + var el = this.getElement(); + goog.dom.classes.add(el, 'cam-blobitemcontainer'); +}; + + +/** @override */ +camlistore.BlobItemContainer.prototype.disposeInternal = function() { + camlistore.BlobItemContainer.superClass_.disposeInternal.call(this); + this.eh_.dispose(); +}; + + +/** + * Called when component's element is known to be in the document. + */ +camlistore.BlobItemContainer.prototype.enterDocument = function() { + camlistore.BlobItemContainer.superClass_.enterDocument.call(this); + // Add event handlers here +}; + + +/** + * Called when component's element is known to have been removed from the + * document. + */ +camlistore.BlobItemContainer.prototype.exitDocument = function() { + camlistore.BlobItemContainer.superClass_.exitDocument.call(this); + // Clear event handlers here +}; diff --git a/server/camlistored/newui/blob_item_container_test.html b/server/camlistored/newui/blob_item_container_test.html new file mode 100644 index 000000000..6a1312ed1 --- /dev/null +++ b/server/camlistored/newui/blob_item_container_test.html @@ -0,0 +1,49 @@ + + +
+ + + + + + + + +