aboutsummaryrefslogtreecommitdiff
path: root/contexts/data/lib/closure-library/closure/goog/editor/plugins/loremipsum.js
diff options
context:
space:
mode:
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/editor/plugins/loremipsum.js')
-rw-r--r--contexts/data/lib/closure-library/closure/goog/editor/plugins/loremipsum.js188
1 files changed, 0 insertions, 188 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/editor/plugins/loremipsum.js b/contexts/data/lib/closure-library/closure/goog/editor/plugins/loremipsum.js
deleted file mode 100644
index f8cfb12..0000000
--- a/contexts/data/lib/closure-library/closure/goog/editor/plugins/loremipsum.js
+++ /dev/null
@@ -1,188 +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 A plugin that fills the field with lorem ipsum text when it's
- * empty and does not have the focus. Applies to both editable and uneditable
- * fields.
- *
- */
-
-goog.provide('goog.editor.plugins.LoremIpsum');
-
-goog.require('goog.asserts');
-goog.require('goog.dom');
-goog.require('goog.editor.Command');
-goog.require('goog.editor.Plugin');
-goog.require('goog.editor.node');
-goog.require('goog.functions');
-
-
-
-/**
- * A plugin that manages lorem ipsum state of editable fields.
- * @param {string} message The lorem ipsum message.
- * @constructor
- * @extends {goog.editor.Plugin}
- */
-goog.editor.plugins.LoremIpsum = function(message) {
- goog.editor.Plugin.call(this);
-
- /**
- * The lorem ipsum message.
- * @type {string}
- * @private
- */
- this.message_ = message;
-};
-goog.inherits(goog.editor.plugins.LoremIpsum, goog.editor.Plugin);
-
-
-/** @override */
-goog.editor.plugins.LoremIpsum.prototype.getTrogClassId =
- goog.functions.constant('LoremIpsum');
-
-
-/** @override */
-goog.editor.plugins.LoremIpsum.prototype.activeOnUneditableFields =
- goog.functions.TRUE;
-
-
-/**
- * Whether the field is currently filled with lorem ipsum text.
- * @type {boolean}
- * @private
- */
-goog.editor.plugins.LoremIpsum.prototype.usingLorem_ = false;
-
-
-/**
- * Handles queryCommandValue.
- * @param {string} command The command to query.
- * @return {boolean} The result.
- * @override
- */
-goog.editor.plugins.LoremIpsum.prototype.queryCommandValue = function(command) {
- return command == goog.editor.Command.USING_LOREM && this.usingLorem_;
-};
-
-
-/**
- * Handles execCommand.
- * @param {string} command The command to execute.
- * Should be CLEAR_LOREM or UPDATE_LOREM.
- * @param {*=} opt_placeCursor Whether to place the cursor in the field
- * after clearing lorem. Should be a boolean.
- * @override
- */
-goog.editor.plugins.LoremIpsum.prototype.execCommand = function(command,
- opt_placeCursor) {
- if (command == goog.editor.Command.CLEAR_LOREM) {
- this.clearLorem_(!!opt_placeCursor);
- } else if (command == goog.editor.Command.UPDATE_LOREM) {
- this.updateLorem_();
- }
-};
-
-
-/** @override */
-goog.editor.plugins.LoremIpsum.prototype.isSupportedCommand =
- function(command) {
- return command == goog.editor.Command.CLEAR_LOREM ||
- command == goog.editor.Command.UPDATE_LOREM ||
- command == goog.editor.Command.USING_LOREM;
-};
-
-
-/**
- * Set the lorem ipsum text in a goog.editor.Field if needed.
- * @private
- */
-goog.editor.plugins.LoremIpsum.prototype.updateLorem_ = function() {
- // Try to apply lorem ipsum if:
- // 1) We have lorem ipsum text
- // 2) There's not a dialog open, as that screws
- // with the dialog's ability to properly restore the selection
- // on dialog close (since the DOM nodes would get clobbered in FF)
- // 3) We're not using lorem already
- // 4) The field is not currently active (doesn't have focus).
- var fieldObj = this.getFieldObject();
- if (!this.usingLorem_ &&
- !fieldObj.inModalMode() &&
- goog.editor.Field.getActiveFieldId() != fieldObj.id) {
- var field = fieldObj.getElement();
- if (!field) {
- // Fallback on the original element. This is needed by
- // fields managed by click-to-edit.
- field = fieldObj.getOriginalElement();
- }
-
- goog.asserts.assert(field);
- if (goog.editor.node.isEmpty(field)) {
- this.usingLorem_ = true;
-
- // Save the old font style so it can be restored when we
- // clear the lorem ipsum style.
- this.oldFontStyle_ = field.style.fontStyle;
- field.style.fontStyle = 'italic';
- fieldObj.setHtml(true, this.message_, true);
- }
- }
-};
-
-
-/**
- * Clear an EditableField's lorem ipsum and put in initial text if needed.
- *
- * If using click-to-edit mode (where Trogedit manages whether the field
- * is editable), this works for both editable and uneditable fields.
- *
- * TODO(user): Is this really necessary? See TODO below.
- * @param {boolean=} opt_placeCursor Whether to place the cursor in the field
- * after clearing lorem.
- * @private
- */
-goog.editor.plugins.LoremIpsum.prototype.clearLorem_ = function(
- opt_placeCursor) {
- // Don't mess with lorem state when a dialog is open as that screws
- // with the dialog's ability to properly restore the selection
- // on dialog close (since the DOM nodes would get clobbered)
- var fieldObj = this.getFieldObject();
- if (this.usingLorem_ && !fieldObj.inModalMode()) {
- var field = fieldObj.getElement();
- if (!field) {
- // Fallback on the original element. This is needed by
- // fields managed by click-to-edit.
- field = fieldObj.getOriginalElement();
- }
-
- goog.asserts.assert(field);
- this.usingLorem_ = false;
- field.style.fontStyle = this.oldFontStyle_;
- fieldObj.setHtml(true, null, true);
-
- // TODO(nicksantos): I'm pretty sure that this is a hack, but talk to
- // Julie about why this is necessary and what to do with it. Really,
- // we need to figure out where it's necessary and remove it where it's
- // not. Safari never places the cursor on its own willpower.
- if (opt_placeCursor && fieldObj.isLoaded()) {
- if (goog.userAgent.WEBKIT) {
- goog.dom.getOwnerDocument(fieldObj.getElement()).body.focus();
- fieldObj.focusAndPlaceCursorAtStart();
- } else if (goog.userAgent.OPERA) {
- fieldObj.placeCursorAtStart();
- }
- }
- }
-};