0

我需要在 Hallo 工具栏中有一个自定义按钮,该按钮将切换模式以打开。我认为它应该是相当简单的,但是还没有很多关于 Hallo 的文档,而且我对咖啡脚本的了解也不是最好的。

通过使用他们的 github 页面上给出的模板,我已经能够创建一个基本插件,但无法弄清楚如何让它调用 js 函数来切换模式。

任何帮助是极大的赞赏。谢谢!

4

1 回答 1

1

所以这就是我最终使用的......其中很多都是从伴随着 halo 的“链接”小部件中复制而来的。这很乱,我希望我花时间让它看起来更好,但它有效,我很着急。我希望它对其他需要相同定制的人有用。只需将返回值更改为您想要的任何功能。

(function(jQuery) {
return jQuery.widget("IKS.hallocustomimage", {
  options: {
    editable: null,
    uuid: "",
    link: true,
    image: true,
    dialogOpts: {
      autoOpen: false,
      width: 540,
      height: 95,
      modal: true,
      resizable: false,
      draggable: false,
      dialogClass: 'hallolink-dialog'
    },
    buttonCssClass: null
  },
  populateToolbar: function(toolbar) {
    var buttonize, buttonset, dialog, dialogSubmitCb, isEmptyLink, urlInput, widget,
      _this = this;
    widget = this;
    dialog = jQuery("<div id=\"" +  "\"><form action=\"#\" method=\"post\" class=\"linkForm\"><input class=\"url\" type=\"text\" name=\"url\"value=\"" + "\" /><input type=\"submit\" id=\"addlinkButton\" value=\"" + "\"/></form></div>");
    buttonset = jQuery("<span class=\"" + widget.widgetName + "\"></span>");
    buttonize = function(type) {
      var button, buttonHolder, id;
      id = "" + _this.options.uuid + "-" + type;
      buttonHolder = jQuery('<span></span>');
      buttonHolder.hallobutton({
        label: 'Image',
        icon: 'icon-picture',
        editable: _this.options.editable,
        command: null,
        queryState: false,
        uuid: _this.options.uuid,
        cssClass: _this.options.buttonCssClass
      });
      buttonset.append(buttonHolder);
      button = buttonHolder;
      button.on("click", function(event) {
        var button_selector, selectionParent;
        widget.options.editable.keepActivated(true);
        return jQuery(function(){$('#gallery').modal();});
      });
    };
    if (this.options.link) {
      buttonize("A");
    }
    if (this.options.link) {
      toolbar.append(buttonset);
      buttonset.hallobuttonset();
      return dialog.dialog(this.options.dialogOpts);
    }
  }
});})(jQuery);
于 2013-07-15T15:34:19.713 回答