/** * @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 {camlistore.ServerConnection} connection Connection to the server * for fetching blobrefs and other queries. * @param {goog.dom.DomHelper=} opt_domHelper DOM helper to use. * * @extends {goog.ui.Container} * @constructor */ camlistore.BlobItemContainer = function(connection, opt_domHelper) { goog.base(this, opt_domHelper); /** * @type {camlistore.ServerConnection} * @private */ this.connection_ = connection; /** * @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); this.eh_.listen(this.getElement(), goog.events.EventType.CLICK, function() { console.log('Printing from connection: ' + this.connection_.stupidHello()); }); }; /** * 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); this.eh_.removeAll(); };