如何在Aikau中删除小部件?

时间:2016-09-22 12:08:21

标签: javascript alfresco alfresco-share aikau

我在Aikau中创建了一个小部件,其中的想法是,在其中,任何时刻只有一个小部件,它会动态地从一种类型转换为另一种类型。

我的程序如下:

  • 我删除了父小部件中的所有小部件
  • 我构建了新的小部件。

现在我的代码可以运行,但我不知道我是否正确地删除了所有小部件。我没有在文档中找到任何功能:

swapWidget: function myPackage_myWidget__swapWidget(event) {
  // REMOVE ALL THE CHILDREN 
  // is it this ok?
  $(this.domNode).find('div').remove();

  var widgetId = event.widgetId
    , widget = this.widgetsPosibilities[widgetId]
    , clonedWidgets = lang.clone([widget])
    ;
  this.processWidgets(clonedWidgets, this.domNode);
},
postCreate :  function myPackage_myWidget__postCreate() {
  var event = {widgetId: this.initWidgetId};
  this.jumpWidget(event);

  this.alfSubscribe('MY_CUSTOM_EVENT', lang.hitch(this, this.swapWidget));

  this.inherited(arguments);
}

足够“ $(this.domNode).find('div')。remove(); ”以消除所有子窗口小部件?

一般来说,我更喜欢使用JQuery,但也许正确的方法是使用Dojo。

最好的方法是什么?

在Aikau的新版本中会持续多长时间?

1 个答案:

答案 0 :(得分:3)

您应该尝试使用DynamicWidgets。此小组件允许您配置可以使用小组件模型发布的订阅主题。 DynamicWidgets小部件将自动删除显示的小部件并呈现请求的小部件。

我绝对不会推荐您目前采用的方法,因为它不太可能成为未来的证据。如果您需要,我可以提供一些使用此小部件的示例,或者您可以查看单元测试应用程序中的示例。