2015-11-16 36 views
2

我的工作列表控件和一個列有刪除鏈接,我使用HTMLTemplate如下格式調用Pagecode的JavascriptSitecore的8說話UI從HTMLTemplate鏈接

define(["sitecore", function (Sitecore) { 
    var DestinationRules = Sitecore.Definitions.App.extend({ 
     initialized: function() { 
      this.processDestinationRules(); 
     }, 
     showConfirmation: function() { 
      alert('here'); 

     }, 

    }); 

    return DestinationRules; 
}); 

出於某種原因,我無法調用showConfirmation()。它說沒有定義。我什至嘗試Sitecore.Speak.app.showconfirmation()但不工作。

我盡了最大努力在網上搜索,但沒能找到解決,通過嵌入到HTMLTemplate控件調用函數太大的幫助。

我的下一步是調用DialogWindow。

請你能不能幫我上面的語法。提前致謝。

回答

0

最後,設法做到了這一點。始終知道可以這樣做,但不喜歡它完成的方式。

在列表控件中刪除鏈接打開一個確認對話框窗口。而如果用戶選擇Yes,然後它調用app.onDeleteYes()

的HtmlMarkup爲列:

<a href="javascript:destinationRulePage.showDeleteDialog({{itemId}});">Delete</a> 

增加了一個按鈕叫btnDeletevisibility設置爲false

新增以下功能,應用的範圍:

var destinationRulePage = (function() { 
    var self = this; 
    self.showDeleteDialog = function (id) { 
     $("button[data-sc-id='btnYes']").attr("data-sc-click", 
      "javascript:app.onDeleteYes(" + id + ");"); 
     $("button[data-sc-id='btnDelete']").click(); 
    } 
    return self; 
}()) 

這做這項工作對我來說。謝謝。

0

以不同的方式修復它。

我想證明在網上的列表控件的每一行中刪除按鈕。想不出辦法來調用

javascript: app.showConfirmation() 

我改變要刪除的記錄方式:

  • 有列表控件之外的一個刪除按鈕。
  • 基於綁定ListControl.HasSelectedItem啓用/禁用Delete按鈕。
  • 刪除按鈕的點擊,調用showConfirmation()

截至目前似乎是一個更好的辦法。 Sitecore本身使用類似的方法來「踢開」用戶。可以在這裏找到:

/sitecore/client/Applications/LicenseOptions/KickUser 

希望有所幫助。謝謝。