示例#1
0
        private List <ItemId> GetSelectedItems([NotNull] ContentEditorContext context, [Localizable(false), NotNull] string fieldName)
        {
            Debug.ArgumentNotNull(context, nameof(context));
            Debug.ArgumentNotNull(fieldName, nameof(fieldName));

            var selectedItems = new List <ItemId>();

            var field = GetValidatorField(context, fieldName);

            if (field == null)
            {
                return(selectedItems);
            }

            var value = field.Value;

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

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

            return(selectedItems);
        }
示例#2
0
        private void SetSelectedItems([NotNull] ContentEditorContext context, [Localizable(false), NotNull] string fieldName, [NotNull] List <ItemId> selectedItems)
        {
            Debug.ArgumentNotNull(context, nameof(context));
            Debug.ArgumentNotNull(fieldName, nameof(fieldName));
            Debug.ArgumentNotNull(selectedItems, nameof(selectedItems));

            var field = GetValidatorField(context, fieldName);

            if (field == null)
            {
                return;
            }

            var value = string.Empty;

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

                value += selectedItem.ToString();
            }

            field.Value = value;
            if (field.Control != null)
            {
                field.Control.SetValue(value);
            }
        }
示例#3
0
        private string GetSelectedItems([NotNull] ContentEditorContext context, [Localizable(false), NotNull] string fieldName)
        {
            Debug.ArgumentNotNull(context, nameof(context));
            Debug.ArgumentNotNull(fieldName, nameof(fieldName));

            var field = GetHelpField(context, fieldName);

            if (field == null)
            {
                return(string.Empty);
            }

            return(field.Value);
        }
示例#4
0
        private void ShowStandardFields([NotNull] object sender, [NotNull] RoutedEventArgs e)
        {
            Debug.ArgumentNotNull(sender, nameof(sender));
            Debug.ArgumentNotNull(e, nameof(e));

            var context = new ContentEditorContext(ContentEditor);

            var command = new StandardFields();

            if (command.CanExecute(context))
            {
                AppHost.Usage.ReportCommand(command, context);
                command.Execute(context);
            }
        }
示例#5
0
        private Field GetInsertOptionsField([NotNull] ContentEditorContext context)
        {
            Debug.ArgumentNotNull(context, "context");

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

            foreach (var field in context.ContentEditor.ContentModel.Fields)
            {
                if (field.FieldUris.First().FieldId == insertOptionsField)
                {
                    return(field);
                }
            }

            return(null);
        }
        private Field GetBaseTemplatesField([NotNull] ContentEditorContext context)
        {
            Debug.ArgumentNotNull(context, nameof(context));

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

            foreach (var field in context.ContentEditor.ContentModel.Fields)
            {
                if (field.FieldUris.First().FieldId == baseTemplateId)
                {
                    return(field);
                }
            }

            return(null);
        }
示例#7
0
        private Field GetHelpField([NotNull] ContentEditorContext context, [Localizable(false), NotNull] string fieldName)
        {
            Debug.ArgumentNotNull(context, nameof(context));
            Debug.ArgumentNotNull(fieldName, nameof(fieldName));

            var fieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Help/Help/" + fieldName);

            foreach (var field in context.ContentEditor.ContentModel.Fields)
            {
                if (field.FieldUris.First().FieldId == fieldId)
                {
                    return(field);
                }
            }

            return(null);
        }
示例#8
0
        private void SetSelectedItems([NotNull] ContentEditorContext context, [Localizable(false), NotNull] string fieldName, [NotNull] string value)
        {
            Debug.ArgumentNotNull(context, nameof(context));
            Debug.ArgumentNotNull(fieldName, nameof(fieldName));
            Debug.ArgumentNotNull(value, nameof(value));

            var field = GetHelpField(context, fieldName);

            if (field == null)
            {
                return;
            }

            field.Value = value;
            if (field.Control != null)
            {
                field.Control.SetValue(value);
            }
        }
        public override void Execute(object parameter)
        {
            if (!(parameter is ShellContext))
            {
                return;
            }

            var editor = ActiveContext.ActiveContentEditor;

            if (editor == null)
            {
                return;
            }

            var context = new ContentEditorContext(editor);

            AppHost.Usage.ReportCommand(Command, context);
            Command.Execute(context);
        }
示例#10
0
        private void IconMouseUp([NotNull] object sender, [NotNull] MouseButtonEventArgs e)
        {
            Debug.ArgumentNotNull(sender, nameof(sender));
            Debug.ArgumentNotNull(e, nameof(e));

            if (e.ChangedButton != MouseButton.Left)
            {
                return;
            }

            var context = new ContentEditorContext(ContentEditor);

            var command = new SetIcon();

            if (command.CanExecute(context))
            {
                AppHost.Usage.ReportCommand(command, context);
                command.Execute(context);
            }
        }