Exemple #1
0
        protected override void CreateChildControls()
        {
            if (!string.IsNullOrEmpty(Label))
            {
                Controls.AddAt(0, new Label {
                    Text = Label, CssClass = "editorLabel"
                });
            }

            foreach (ContentItem item in GetItems())
            {
                CreateItemEditor(item);
            }

            addPanel.Controls.Add(new Label {
                Text = Utility.GetLocalResourceString("Add") ?? "Add", CssClass = "addLabel"
            });

            var allowedChildren = Parts.GetAllowedDefinitions(ParentItem, ZoneName, Page.User).ToList();

            foreach (ItemDefinition definition in allowedChildren)
            {
                if (!MinimumType.IsAssignableFrom(definition.ItemType))
                {
                    continue;
                }

                var button = new LinkButton
                {
                    ID               = "iel" + ID + "_" + definition.GetDiscriminatorWithTemplateKey().Replace('/', '_'),
                    Text             = string.Format("<img src='{0}' alt='ico'/>{1}", definition.IconUrl, definition.Title),
                    ToolTip          = definition.ToolTip,
                    CausesValidation = false
                };
                var closureDefinition = definition;
                button.Command += (s, a) =>
                {
                    ContentItem item = CreateItem(closureDefinition);
                    item.ZoneName = ZoneName;
                    AddedDefinitions.Add(closureDefinition.GetDiscriminatorWithTemplateKey());
                    CreateItemEditor(item);
                };
                addPanel.Controls.Add(button);
            }

            base.CreateChildControls();
        }
Exemple #2
0
        private LinkButton CreateButton(Control container, TemplateDefinition template)
        {
            var button = new LinkButton
            {
                ID   = "iel" + ID + "_" + template.Definition.GetDiscriminatorWithTemplateKey().Replace('/', '_'),
                Text = string.IsNullOrEmpty(template.Definition.IconUrl)
                    ? string.Format("<b class='{0}'></b> {1}", template.Definition.IconClass, template.Definition.Title)
                    : string.Format("<img src='{0}' alt='ico'/>{1}", template.Definition.IconUrl, template.Definition.Title),
                ToolTip          = template.Definition.ToolTip,
                CausesValidation = false,
                CssClass         = "addButton"
            };
            var closureDefinition = template.Definition;

            button.Command += (s, a) =>
            {
                ContentItem item = CreateItem(closureDefinition);
                item.ZoneName = ZoneName;
                AddedDefinitions.Add(closureDefinition.GetDiscriminatorWithTemplateKey());
                CreateItemEditor(item);
            };
            container.Controls.Add(button);
            return(button);
        }