Episerver/CMS & Dojo/Aspect– 如何在 Dojo 中捕获 revert to publish 事件?

Episerver/CMS & Dojo/Aspect– how to catch revert to publish event in Dojo?

在 post Event on "Revert to Published" 中,我找到了 "attach" 的代码来 revertToPublished 事件。

dojo.require(["dojo/aspect", "epi/dependency"], function(aspect, dependencey) {
    var editingCommands = dependency.resolve("epi.cms.contentEditing.command.Editing");
    aspect.before(editingCommands.revertToPublished, "_execute", function() {
        // TODO: Reverting Content To Published
    });
});

基本上代码是正确的并且应该可以工作,但至少在我的小部件中如果我在

中设置它
postCreate: function () {}

不会,所以永远不会调用 advise 方法。 beforeafter 方法注册都不起作用。 around 注册有效并立即调用 (as it should)。

我想我漏掉了一些具体的东西。足够的解决方案也是能够检查模型是否是新加载的,因此没有 属性 跟踪变化。

下面的代码可以达到目的。

aspect.before(
  dependency.resolve("epi.cms.contentEditing.command.Editing").model,
  "revertToPublished",
  function() {});