| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 | (function (root, factory) {  if (typeof define === 'function' && define.amd) {    // AMD. Register as an anonymous module unless amdModuleId is set    define('simditor-html', ["jquery","simditor","html_beautify"], function (a0,b1,c2) {      return (root['HTMLButton'] = factory(a0,b1,c2));    });  } else if (typeof exports === 'object') {    // Node. Does not work with strict CommonJS, but    // only CommonJS-like environments that support module.exports,    // like Node.    module.exports = factory(require("jquery"),require("simditor"),require("js_beautify"));  } else {    root['SimditorHTML'] = factory(jQuery,Simditor,html_beautify);  }}(this, function ($, Simditor, beautify) {var HTMLButton,  extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },  hasProp = {}.hasOwnProperty,  slice = [].slice;HTMLButton = (function(superClass) {  extend(HTMLButton, superClass);  function HTMLButton() {    return HTMLButton.__super__.constructor.apply(this, arguments);  }  HTMLButton.prototype.name = 'html';  HTMLButton.prototype.icon = 'html5';  HTMLButton.prototype.needFocus = false;  HTMLButton.prototype._init = function() {    HTMLButton.__super__._init.call(this);    this.editor.textarea.on('focus', (function(_this) {      return function(e) {        return _this.editor.el.addClass('focus').removeClass('error');      };    })(this));    this.editor.textarea.on('blur', (function(_this) {      return function(e) {        _this.editor.el.removeClass('focus');        return _this.editor.setValue(_this.editor.textarea.val());      };    })(this));    return this.editor.textarea.on('input', (function(_this) {      return function(e) {        return _this._resizeTextarea();      };    })(this));  };  HTMLButton.prototype.status = function() {};  HTMLButton.prototype.command = function() {    var button, i, len, ref;    this.editor.blur();    this.editor.el.toggleClass('simditor-html');    this.editor.htmlMode = this.editor.el.hasClass('simditor-html');    if (this.editor.htmlMode) {      this.editor.hidePopover();      this.editor.textarea.val(this.beautifyHTML(this.editor.textarea.val()));      this._resizeTextarea();    } else {      this.editor.setValue(this.editor.textarea.val());    }    ref = this.editor.toolbar.buttons;    for (i = 0, len = ref.length; i < len; i++) {      button = ref[i];      if (button.name === 'html') {        button.setActive(this.editor.htmlMode);      } else {        button.setDisabled(this.editor.htmlMode);      }    }    return null;  };  HTMLButton.prototype.beautifyHTML = function() {    var args;    args = 1 <= arguments.length ? slice.call(arguments, 0) : [];    if (beautify.html) {      return beautify.html.apply(beautify, args);    } else {      return beautify.apply(null, args);    }  };  HTMLButton.prototype._resizeTextarea = function() {    this._textareaPadding || (this._textareaPadding = this.editor.textarea.innerHeight() - this.editor.textarea.height());    return this.editor.textarea.height(this.editor.textarea[0].scrollHeight - this._textareaPadding);  };  return HTMLButton;})(Simditor.Button);Simditor.Toolbar.addButton(HTMLButton);return HTMLButton;}));
 |