Вход Регистрация
Файл: library/wysihtml5/src/commands.js
Строк: 102
<?php
/**
 * Rich Text Query/Formatting Commands
 * 
 * @example
 *    var commands = new wysihtml5.Commands(editor);
 */
wysihtml5.Commands Base.extend(
  
/** @scope wysihtml5.Commands.prototype */ {
  
constructor: function(editor) {
    
this.editor   editor;
    
this.composer editor.composer;
    
this.doc      this.composer.doc;
  },
  
  
/**
   * Check whether the browser supports the given command
   *
   * @param {String} command The command string which to check (eg. "bold", "italic", "insertUnorderedList")
   * @example
   *    commands.supports("createLink");
   */
  
support: function(command) {
    return 
wysihtml5.browser.supportsCommand(this.doccommand);
  },
  
  
/**
   * Check whether the browser supports the given command
   *
   * @param {String} command The command string which to execute (eg. "bold", "italic", "insertUnorderedList")
   * @param {String} [value] The command value parameter, needed for some commands ("createLink", "insertImage", ...), optional for commands that don't require one ("bold", "underline", ...)
   * @example
   *    commands.exec("insertImage", "http://a1.twimg.com/profile_images/113868655/schrei_twitter_reasonably_small.jpg");
   */
  
exec: function(commandvalue) {
    var 
obj     wysihtml5.commands[command],
        
args    wysihtml5.lang.array(arguments).get(),
        
method  obj && obj.exec,
        
result  null;
    
    
this.editor.fire("beforecommand:composer");
    
    if (
method) {
      
args.unshift(this.composer);
      
result method.apply(objargs);
    } else {
      try {
        
// try/catch for buggy firefox
        
result this.doc.execCommand(commandfalsevalue);
      } catch(
e) {}
    }
    
    
this.editor.fire("aftercommand:composer");
    return 
result;
  },
  
  
/**
   * Check whether the current command is active
   * If the caret is within a bold text, then calling this with command "bold" should return true
   *
   * @param {String} command The command string which to check (eg. "bold", "italic", "insertUnorderedList")
   * @param {String} [commandValue] The command value parameter (eg. for "insertImage" the image src)
   * @return {Boolean} Whether the command is active
   * @example
   *    var isCurrentSelectionBold = commands.state("bold");
   */
  
state: function(commandcommandValue) {
    var 
obj     wysihtml5.commands[command],
        
args    wysihtml5.lang.array(arguments).get(),
        
method  obj && obj.state;
    if (
method) {
      
args.unshift(this.composer);
      return 
method.apply(objargs);
    } else {
      try {
        
// try/catch for buggy firefox
        
return this.doc.queryCommandState(command);
      } catch(
e) {
        return 
false;
      }
    }
  }
});
?>
Онлайн: 3
Реклама