Пример #1
0
        public override void Execute(object parameter)
        {
            var context = parameter as TemplateDesignerContext;

            if (context == null)
            {
                return;
            }

            var selectedItems = context.TemplateDesigner.BaseTemplates;

            var d = new SelectTemplatesDialog
            {
                HelpText = "Each data template inherits from zero or more base data templates, which in turn specify base templates.",
                Label    = "Select the Base Templates:"
            };

            d.Initialize(Resources.SetBaseTemplates_Execute_Base_Templates, context.TemplateDesigner.TemplateUri.DatabaseUri, selectedItems);
            if (AppHost.Shell.ShowDialog(d) != true)
            {
                return;
            }

            context.TemplateDesigner.BaseTemplates = d.SelectedTemplates;
            context.TemplateDesigner.SetModified(true);
        }
Пример #2
0
        /// <summary>The execute.</summary>
        /// <param name="parameter">The parameter.</param>
        public override void Execute(object parameter)
        {
            var context = parameter as ContentEditorContext;

            if (context == null)
            {
                return;
            }

            context.ContentEditor.ContentModel.GetChanges();

            var field = this.GetInsertOptionsField(context);

            if (field == null)
            {
                return;
            }

            var value = field.Value;

            var selectedItems = new List <ItemId>();

            foreach (var s in value.Split('|'))
            {
                if (string.IsNullOrEmpty(s))
                {
                    continue;
                }

                selectedItems.Add(new ItemId(new Guid(s)));
            }

            var d = new SelectTemplatesDialog();

            d.Initialize(Resources.SetInsertOptions_Execute_Insert_Options, field.FieldUris.First().ItemVersionUri.DatabaseUri, selectedItems, true);
            if (d.ShowDialog() != true)
            {
                return;
            }

            value = string.Empty;
            foreach (var selectedItem in d.SelectedItems)
            {
                if (!string.IsNullOrEmpty(value))
                {
                    value += '|';
                }

                value += selectedItem.ToString();
            }

            field.Value = value;
            if (field.Control != null)
            {
                field.Control.SetValue(value);
            }

            context.ContentEditor.ContentModel.IsModified = true;
        }
Пример #3
0
        public override void Execute(object parameter)
        {
            var context = parameter as IItemSelectionContext;

            if (context == null)
            {
                return;
            }

            var item = context.Items.FirstOrDefault();

            if (item == null)
            {
                return;
            }

            var selectedItems = new List <ItemId>();

            if (context.Items.Count() == 1)
            {
                if (!GetSelectedInsertOptions(item, selectedItems))
                {
                    return;
                }
            }

            var d = new SelectTemplatesDialog();

            d.Initialize(Resources.SetInsertOptions_Execute_Insert_Options, item.ItemUri.DatabaseUri, selectedItems, true);
            if (AppHost.Shell.ShowDialog(d) != true)
            {
                return;
            }

            var value = string.Empty;

            foreach (var selectedItem in d.SelectedTemplates)
            {
                if (!string.IsNullOrEmpty(value))
                {
                    value += '|';
                }

                value += selectedItem.ToString();
            }

            var fieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Insert Options/Insert Options/__Masters");

            var fields = new List <Tuple <FieldUri, string> >();

            foreach (var i in context.Items)
            {
                var fieldUri = new FieldUri(new ItemVersionUri(i.ItemUri, LanguageManager.CurrentLanguage, Data.Version.Latest), fieldId);
                fields.Add(new Tuple <FieldUri, string>(fieldUri, value));
            }

            AppHost.Server.UpdateItems(fields);
        }
Пример #4
0
        public override void Execute(object parameter)
        {
            var context = parameter as ContentTreeContext;

            if (context == null)
            {
                return;
            }

            var itemTreeViewItem = context.SelectedItems.FirstOrDefault() as ItemTreeViewItem;

            if (itemTreeViewItem == null)
            {
                return;
            }

            var fieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Template/Data/__Base template");

            GetValueCompleted <Item> completed = delegate(Item item)
            {
                var field         = item.Fields.FirstOrDefault(f => f.Name == "__Base template");
                var selectedItems = field != null?field.Value.Split('|').Where(v => !string.IsNullOrWhiteSpace(v)).Select(id => new ItemId(new Guid(id))) : Enumerable.Empty <ItemId>();

                var d = new SelectTemplatesDialog
                {
                    HelpText = "Each data template inherits from zero or more base data templates, which in turn specify base templates.",
                    Label    = "Select the Base Templates:"
                };

                d.Initialize(Resources.SetBaseTemplates_Execute_Base_Templates, item.ItemUri.DatabaseUri, selectedItems);

                if (AppHost.Shell.ShowDialog(d) != true)
                {
                    return;
                }

                var baseTemplates = string.Join("|", d.SelectedTemplates.Select(i => i.ToString()));

                ItemModifier.Edit(item.ItemUri, fieldId, baseTemplates);
            };

            itemTreeViewItem.ItemUri.Site.DataService.GetItemFieldsAsync(new ItemVersionUri(itemTreeViewItem.ItemUri, Language.Current, Data.Version.Latest), completed);
        }