aboutsummaryrefslogtreecommitdiff
path: root/contexts/data/lib/closure-library/closure/goog/ui/emoji/emojipaletterenderer.js
diff options
context:
space:
mode:
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/ui/emoji/emojipaletterenderer.js')
-rw-r--r--contexts/data/lib/closure-library/closure/goog/ui/emoji/emojipaletterenderer.js207
1 files changed, 0 insertions, 207 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/ui/emoji/emojipaletterenderer.js b/contexts/data/lib/closure-library/closure/goog/ui/emoji/emojipaletterenderer.js
deleted file mode 100644
index e79db27..0000000
--- a/contexts/data/lib/closure-library/closure/goog/ui/emoji/emojipaletterenderer.js
+++ /dev/null
@@ -1,207 +0,0 @@
-// Copyright 2008 The Closure Library Authors. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS-IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-/**
- * @fileoverview Emoji Palette renderer implementation.
- *
- */
-
-goog.provide('goog.ui.emoji.EmojiPaletteRenderer');
-
-goog.require('goog.dom');
-goog.require('goog.dom.a11y');
-goog.require('goog.ui.PaletteRenderer');
-goog.require('goog.ui.emoji.Emoji');
-goog.require('goog.ui.emoji.SpriteInfo');
-
-
-
-/**
- * Renders an emoji palette.
- *
- * @param {?string} defaultImgUrl Url of the img that should be used to fill up
- * the cells in the emoji table, to prevent jittering. Will be stretched
- * to the emoji cell size. A good image is a transparent dot.
- * @constructor
- * @extends {goog.ui.PaletteRenderer}
- */
-goog.ui.emoji.EmojiPaletteRenderer = function(defaultImgUrl) {
- goog.ui.PaletteRenderer.call(this);
-
- this.defaultImgUrl_ = defaultImgUrl;
-};
-goog.inherits(goog.ui.emoji.EmojiPaletteRenderer, goog.ui.PaletteRenderer);
-
-
-/**
- * Globally unique ID sequence for cells rendered by this renderer class.
- * @type {number}
- * @private
- */
-goog.ui.emoji.EmojiPaletteRenderer.cellId_ = 0;
-
-
-/**
- * Url of the img that should be used for cells in the emoji palette that are
- * not filled with emoji, i.e., after all the emoji have already been placed
- * on a page.
- *
- * @type {?string}
- * @private
- */
-goog.ui.emoji.EmojiPaletteRenderer.prototype.defaultImgUrl_ = null;
-
-
-/** @override */
-goog.ui.emoji.EmojiPaletteRenderer.getCssClass = function() {
- return goog.getCssName('goog-ui-emojipalette');
-};
-
-
-/**
- * Creates a palette item from the given emoji data.
- *
- * @param {goog.dom.DomHelper} dom DOM helper for constructing DOM elements.
- * @param {string} id Goomoji id for the emoji.
- * @param {goog.ui.emoji.SpriteInfo} spriteInfo Spriting info for the emoji.
- * @param {string} displayUrl URL of the image served for this cell, whether
- * an individual emoji image or a sprite.
- * @return {HTMLDivElement} The palette item for this emoji.
- */
-goog.ui.emoji.EmojiPaletteRenderer.prototype.createPaletteItem =
- function(dom, id, spriteInfo, displayUrl) {
- var el;
-
- if (spriteInfo) {
- var cssClass = spriteInfo.getCssClass();
- if (cssClass) {
- el = dom.createDom('div', cssClass);
- } else {
- el = this.buildElementFromSpriteMetadata(dom, spriteInfo, displayUrl);
- }
- } else {
- el = dom.createDom('img', {'src': displayUrl});
- }
-
- var outerdiv =
- dom.createDom('div', goog.getCssName('goog-palette-cell-wrapper'), el);
- outerdiv.setAttribute(goog.ui.emoji.Emoji.ATTRIBUTE, id);
- return /** @type {HTMLDivElement} */ (outerdiv);
-};
-
-
-/**
- * Modifies a palette item containing an animated emoji, in response to the
- * animated emoji being successfully downloaded.
- *
- * @param {Element} item The palette item to update.
- * @param {Image} animatedImg An Image object containing the animated emoji.
- */
-goog.ui.emoji.EmojiPaletteRenderer.prototype.updateAnimatedPaletteItem =
- function(item, animatedImg) {
- // An animated emoji is one that had sprite info for a static version and is
- // now being updated. See createPaletteItem for the structure of the palette
- // items we're modifying.
-
- var inner = (/** @type {Element} */ item.firstChild);
-
- // The first case is a palette item with a CSS class representing the sprite,
- // and an animated emoji.
- var classes = goog.dom.classes.get(inner);
- if (classes && classes.length == 1) {
- inner.className = '';
- }
-
- goog.style.setStyle(inner, {
- 'width': animatedImg.width,
- 'height': animatedImg.height,
- 'background-image': 'url(' + animatedImg.src + ')',
- 'background-position': '0 0'
- });
-};
-
-
-/**
- * Builds the inner contents of a palette item out of sprite metadata.
- *
- * @param {goog.dom.DomHelper} dom DOM helper for constructing DOM elements.
- * @param {goog.ui.emoji.SpriteInfo} spriteInfo The metadata to create the css
- * for the sprite.
- * @param {string} displayUrl The URL of the image for this cell.
- * @return {HTMLDivElement} The inner element for a palette item.
- */
-goog.ui.emoji.EmojiPaletteRenderer.prototype.buildElementFromSpriteMetadata =
- function(dom, spriteInfo, displayUrl) {
- var width = spriteInfo.getWidthCssValue();
- var height = spriteInfo.getHeightCssValue();
- var x = spriteInfo.getXOffsetCssValue();
- var y = spriteInfo.getYOffsetCssValue();
-
- var el = dom.createDom('div');
- goog.style.setStyle(el, {
- 'width': width,
- 'height': height,
- 'background-image': 'url(' + displayUrl + ')',
- 'background-repeat': 'no-repeat',
- 'background-position': x + ' ' + y
- });
-
- return /** @type {HTMLDivElement} */ (el);
-};
-
-
-/** @override */
-goog.ui.emoji.EmojiPaletteRenderer.prototype.createCell = function(node, dom) {
- // Create a cell with the default img if we're out of items, in order to
- // prevent jitter in the table. If there's no default img url, just create an
- // empty div, to prevent trying to fetch a null url.
- if (!node) {
- var elem = this.defaultImgUrl_ ?
- dom.createDom('img', {'src': this.defaultImgUrl_}) :
- dom.createDom('div');
- node = dom.createDom('div', goog.getCssName('goog-palette-cell-wrapper'),
- elem);
- }
-
- var cell = dom.createDom('td', {
- 'class': goog.getCssName(this.getCssClass(), 'cell'),
- // Cells must have an ID, for accessibility, so we generate one here.
- 'id': this.getCssClass() + '-cell-' +
- goog.ui.emoji.EmojiPaletteRenderer.cellId_++
- }, node);
- goog.dom.a11y.setRole(cell, 'gridcell');
- return cell;
-};
-
-
-/**
- * Returns the item corresponding to the given node, or null if the node is
- * neither a palette cell nor part of a palette item.
- * @param {goog.ui.Palette} palette Palette in which to look for the item.
- * @param {Node} node Node to look for.
- * @return {Node} The corresponding palette item (null if not found).
- * @override
- */
-goog.ui.emoji.EmojiPaletteRenderer.prototype.getContainingItem =
- function(palette, node) {
- var root = palette.getElement();
- while (node && node.nodeType == goog.dom.NodeType.ELEMENT && node != root) {
- if (node.tagName == 'TD') {
- return node.firstChild;
- }
- node = node.parentNode;
- }
-
- return null;
-};