1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- // 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 simple plugin that inserts 'Hello World!' on command. This
- * plugin is intended to be an example of a very simple plugin for plugin
- * developers.
- *
- * @author gak@google.com (Gregory Kick)
- * @see helloworld.html
- */
- goog.provide('goog.demos.editor.HelloWorld');
- goog.require('goog.dom');
- goog.require('goog.dom.TagName');
- goog.require('goog.editor.Plugin');
- /**
- * Plugin to insert 'Hello World!' into an editable field.
- * @constructor
- * @extends {goog.editor.Plugin}
- * @final
- */
- goog.demos.editor.HelloWorld = function() {
- goog.editor.Plugin.call(this);
- };
- goog.inherits(goog.demos.editor.HelloWorld, goog.editor.Plugin);
- /** @override */
- goog.demos.editor.HelloWorld.prototype.getTrogClassId = function() {
- return 'HelloWorld';
- };
- /**
- * Commands implemented by this plugin.
- * @enum {string}
- */
- goog.demos.editor.HelloWorld.COMMAND = {
- HELLO_WORLD: '+helloWorld'
- };
- /** @override */
- goog.demos.editor.HelloWorld.prototype.isSupportedCommand = function(command) {
- return command == goog.demos.editor.HelloWorld.COMMAND.HELLO_WORLD;
- };
- /**
- * Executes a command. Does not fire any BEFORECHANGE, CHANGE, or
- * SELECTIONCHANGE events (these are handled by the super class implementation
- * of {@code execCommand}.
- * @param {string} command Command to execute.
- * @override
- * @protected
- */
- goog.demos.editor.HelloWorld.prototype.execCommandInternal = function(command) {
- var domHelper = this.getFieldObject().getEditableDomHelper();
- var range = this.getFieldObject().getRange();
- range.removeContents();
- var newNode =
- domHelper.createDom(goog.dom.TagName.SPAN, null, 'Hello World!');
- range.insertNode(newNode, false);
- };
|