Add content that uses this template dropdown to Template editor in toolbar

This commit is contained in:
agrath@gmail.com
2012-06-12 04:41:38 -01:00
parent 6ba54ddebc
commit 1fcaa0ee30
4 changed files with 76 additions and 6 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 616 B

View File

@@ -104,6 +104,11 @@
jQuery('#sbDocType').splitbutton({menu:'#docTypeMenu'});
jQuery("#splitButtonDocType").appendTo("#splitButtonDocTypePlaceHolder");
//content split button
jQuery('#sbContent').splitbutton({menu:'#contentMenu'});
jQuery("#splitButtonContent").appendTo("#splitButtonContentPlaceHolder");
//razor macro split button
jQuery('#sb').splitbutton({menu:'#codeTemplateMenu'});
@@ -322,9 +327,33 @@
</ItemTemplate>
</asp:Repeater>
</div>
<script type="text/javascript">
jQuery(document).ready(function () {
UmbClientMgr.appActions().bindSaveShortCut();
});
<div id="splitButtonContent" style="display: inline; height: 23px; vertical-align: top;">
<a href="#" onclick="return false;" id="sbContent" class="sbLink">
<img alt="Content that Uses this Template" src="../images/editor/doc.gif" title="Content that Uses this Template"
style="vertical-align: top;">
</a>
</div>
<div id="contentMenu" style="width: 285px">
<div class="contentitem">
<strong>Content that Uses this Template</strong>
</div>
<div class="contentitem" runat="server" id="uxNoContent">
None
</div>
<asp:Repeater ID="splitButtonContentRepeater" runat="server" OnItemDataBound="splitButtonDocumentTypesRepeater_ItemDataBound">
<ItemTemplate>
<div class="documenttype">
<asp:Literal runat="server" ID="uxName"></asp:Literal>
&nbsp;
<asp:PlaceHolder runat="server" ID="uxLink"></asp:PlaceHolder>
</div>
</ItemTemplate>
</asp:Repeater>
</div>
<script type="text/javascript">
jQuery(document).ready(function () {
UmbClientMgr.appActions().bindSaveShortCut();
});
</script>
</asp:Content>

View File

@@ -79,10 +79,24 @@ namespace umbraco.cms.presentation.settings
LoadScriptingTemplates();
LoadMacros();
LoadDocTypes();
LoadContent();
}
}
protected void splitButtonDocumentTypesRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Tuple<int, string> item = e.Item.DataItem as Tuple<int, string>;
if (item != null)
{
Literal uxName = e.Item.FindControl("uxName") as Literal;
PlaceHolder uxLink = e.Item.FindControl("uxLink") as PlaceHolder;
uxName.Text = item.Item2;
uxLink.Controls.Add(new LiteralControl(umbraco.cms.helpers.DeepLink.GetAnchor(helpers.DeepLinkType.Content, item.Item1.ToString(), true)));
}
}
}
protected override void OnInit(EventArgs e)
{
_template = new Template(int.Parse(Request.QueryString["templateID"]));
@@ -173,6 +187,9 @@ namespace umbraco.cms.presentation.settings
Panel1.Menu.InsertSplitter();
Panel1.Menu.NewElement("div", "splitButtonDocTypePlaceHolder", "sbPlaceHolder", 40);
Panel1.Menu.InsertSplitter();
Panel1.Menu.NewElement("div", "splitButtonContentPlaceHolder", "sbPlaceHolder", 40);
// Help
Panel1.Menu.InsertSplitter();
@@ -230,7 +247,13 @@ namespace umbraco.cms.presentation.settings
splitButtonDocumentTypesRepeater.DataBind();
uxNoDocumentTypes.Visible = !data.Any();
}
private void LoadContent()
{
var data = _template.GetContent();
splitButtonContentRepeater.DataSource = data;
splitButtonContentRepeater.DataBind();
uxNoContent.Visible = !data.Any();
}
public string DoesMacroHaveSettings(string macroId)
{
if (

View File

@@ -155,5 +155,23 @@ namespace umbraco.cms.presentation.settings {
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Repeater splitButtonDocumentTypesRepeater;
/// <summary>
/// uxNoContent control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl uxNoContent;
/// <summary>
/// splitButtonContentRepeater control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Repeater splitButtonContentRepeater;
}
}