public override void Execute(object parameter) { var context = parameter as ContentTreeContext; if (context == null) { return; } foreach (var i in context.SelectedItems) { var item = i as ItemTreeViewItem; if (item == null) { continue; } ExecuteCompleted completed = delegate(string response, ExecuteResult executeResult) { if (!DataService.HandleExecute(response, executeResult)) { return; } var fieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Appearance/Appearance/__Sortorder"); var fieldUri = new FieldUri(new ItemVersionUri(item.ItemUri, LanguageManager.CurrentLanguage, Version.Latest), fieldId); Notifications.RaiseFieldChanged(this, fieldUri, string.Empty); item.RefreshItem(); }; item.ItemUri.Site.DataService.ExecuteAsync("ResetSortOrder", completed, item.ItemUri.ItemId.ToString(), item.ItemUri.DatabaseName.Name); } }
public override void Execute(object parameter) { var context = parameter as IItemSelectionContext; if (context == null) { return; } if (AppHost.MessageBox("Are you sure you want to remove ownership?", "Confirmation", MessageBoxButton.OKCancel, MessageBoxImage.Question) != MessageBoxResult.OK) { return; } ExecuteCompleted completed = delegate(string response, ExecuteResult result) { if (!DataService.HandleExecute(response, result)) { return; } var fieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Security/Security/__Owner"); foreach (var item in context.Items) { var itemHeader = item as ItemTreeViewItem; if (itemHeader == null) { continue; } itemHeader.Item.Ownership = string.Empty; var fieldUri = new FieldUri(new ItemVersionUri(item.ItemUri, LanguageManager.CurrentLanguage, Version.Latest), fieldId); Notifications.RaiseFieldChanged(this, fieldUri, string.Empty); } }; var itemList = new StringBuilder(); IItem first = null; foreach (var item in context.Items) { if (first == null) { first = item; } else { itemList.Append("|"); } itemList.Append(item.ItemUri.ItemId); } if (first != null) { first.ItemUri.Site.DataService.ExecuteAsync("Security.ClearOwnership", completed, first.ItemUri.DatabaseName.Name, itemList.ToString()); } }
private void SetSubitemsSorting([NotNull] object sender, [NotNull] RoutedEventArgs e) { Debug.ArgumentNotNull(sender, nameof(sender)); Debug.ArgumentNotNull(e, nameof(e)); var context = Context; if (context == null) { return; } var item = context.SelectedItems.FirstOrDefault() as ItemTreeViewItem; if (item == null) { return; } var menuItem = e.Source as MenuItem; if (menuItem == null) { return; } var fieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Appearance/Appearance/__Subitems Sorting"); var sortOrder = menuItem.Tag as string ?? string.Empty; ItemModifier.Edit(item.ItemUri, fieldId, sortOrder); item.Refresh(); }
private void CreateStandardValues(ItemUri templateUri) { var standardValuesItemUri = templateUri.Site.DataService.AddFromTemplate(templateUri, templateUri, @"__Standard Values"); if (standardValuesItemUri == ItemUri.Empty) { return; } var standardValuesFieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Advanced/Advanced/__Standard values"); var standardValuesField = new Field { Value = standardValuesItemUri.ItemId.ToString(), HasValue = true }; standardValuesField.FieldUris.Add(new FieldUri(new ItemVersionUri(templateUri, LanguageManager.CurrentLanguage, Data.Version.Latest), standardValuesFieldId)); var fields = new List <Field> { standardValuesField }; ItemModifier.Edit(standardValuesItemUri.DatabaseUri, fields, true); }
private void AddInsertOption([NotNull] ItemHeader itemHeader, [NotNull] ItemUri templateUri) { Debug.ArgumentNotNull(itemHeader, nameof(itemHeader)); Debug.ArgumentNotNull(templateUri, nameof(templateUri)); var itemUri = itemHeader.ItemUri; if (itemHeader.StandardValuesId != ItemId.Empty) { var options = new TaskDialogOptions { Title = "Add to Insert Options", CommonButtons = TaskDialogCommonButtons.None, MainInstruction = "Where do you want to add the Insert Option?", MainIcon = VistaTaskDialogIcon.Information, DefaultButtonIndex = 0, CommandButtons = new[] { "Standard Values Item", string.Format("The \"{0}\" Item", itemHeader.Name) }, AllowDialogCancellation = true }; var r = TaskDialog.Show(options).CommandButtonResult; if (r == null) { return; } if (r == 0) { itemUri = new ItemUri(itemUri.DatabaseUri, itemHeader.StandardValuesId); } } var itemVersionUri = new ItemVersionUri(itemUri, LanguageManager.CurrentLanguage, Version.Latest); GetValueCompleted <Item> completed = delegate(Item item) { var fieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Insert Options/Insert Options/__Masters"); var value = templateUri.ItemId.ToString(); var field = item.Fields.FirstOrDefault(f => f != null && f.FieldUris.First().FieldId == fieldId); if (field == null) { return; } if (!string.IsNullOrEmpty(field.Value) && !field.Value.Contains(value)) { value = field.Value + @"|" + value; } AppHost.Server.UpdateItem(itemUri, fieldId, value); }; AppHost.Server.GetItem(itemVersionUri, completed); }
public void Save() { Refresh(); var writer = new StringWriter(); var output = new XmlTextWriter(writer); output.WriteStartElement(@"fields"); foreach (var template in Model) { foreach (var field in template.Fields) { if (!field.Modified) { continue; } output.WriteStartElement(@"field"); output.WriteAttributeString(@"id", field.TemplateFieldId.ToString()); output.WriteAttributeString(@"sortorder", field.SortOrder.ToString()); output.WriteAttributeString(@"sectionsortorder", field.SectionSortOrder.ToString()); output.WriteEndElement(); field.Modified = false; } } output.WriteEndElement(); ExecuteCompleted completed = delegate(string response, ExecuteResult result) { if (!DataService.HandleExecute(response, result)) { return; } Modified = false; var fieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Appearance/Appearance/__Sortorder"); foreach (var template in Model) { foreach (var field in template.Fields) { var itemVersionUri = new ItemVersionUri(new ItemUri(template.TemplateUri.DatabaseUri, field.TemplateFieldId), LanguageManager.CurrentLanguage, Data.Version.Latest); var fieldUri = new FieldUri(itemVersionUri, fieldId); Notifications.RaiseFieldChanged(this, fieldUri, field.SortOrder.ToString()); itemVersionUri = new ItemVersionUri(new ItemUri(template.TemplateUri.DatabaseUri, new ItemId(new Guid(field.SectionId))), LanguageManager.CurrentLanguage, Data.Version.Latest); fieldUri = new FieldUri(itemVersionUri, fieldId); Notifications.RaiseFieldChanged(this, fieldUri, field.SortOrder.ToString()); } } }; TemplateUri.Site.DataService.ExecuteAsync("Templates.SaveTemplateFieldSorterFields", completed, TemplateUri.DatabaseName.ToString(), writer.ToString()); }
private void Save() { var publishFrom = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Publishing/Publishing/__Publish"); var publishTo = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Publishing/Publishing/__Unpublish"); var neverPublish = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Publishing/Publishing/__Never publish"); var validTo = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Lifetime/Lifetime/__Valid to"); var validFrom = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Lifetime/Lifetime/__Valid from"); var hideVersion = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Lifetime/Lifetime/__Hide version"); var publishingGroups = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Publishing/Publishing/__Publishing groups"); var fields = new List <Tuple <FieldUri, string> >(); fields.Add(new Tuple <FieldUri, string>(new FieldUri(ItemUri, publishFrom), ToIsoDateTime(ItemPublishFrom.Value))); fields.Add(new Tuple <FieldUri, string>(new FieldUri(ItemUri, publishTo), ToIsoDateTime(ItemPublishTo.Value))); fields.Add(new Tuple <FieldUri, string>(new FieldUri(ItemUri, neverPublish), ItemPublishable.IsChecked == true ? string.Empty : @"1")); foreach (var restriction in restrictions) { var itemVersionUri = new ItemVersionUri(ItemUri.ItemUri, ItemUri.Language, new Data.Version(restriction.Version)); fields.Add(new Tuple <FieldUri, string>(new FieldUri(itemVersionUri, validFrom), ToIsoDateTime(restriction.PublishFrom))); fields.Add(new Tuple <FieldUri, string>(new FieldUri(itemVersionUri, validTo), ToIsoDateTime(restriction.PublishTo))); fields.Add(new Tuple <FieldUri, string>(new FieldUri(itemVersionUri, hideVersion), restriction.Publishable ? string.Empty : @"1")); } var targets = string.Empty; foreach (var item in PublishingTargets.Items) { var listBoxItem = item as ListBoxItem; if (listBoxItem == null) { continue; } if (!listBoxItem.IsSelected) { continue; } var publishingTarget = listBoxItem.Tag as PublishingTarget; if (publishingTarget == null) { continue; } if (!string.IsNullOrEmpty(targets)) { targets += @"|"; } targets += publishingTarget.Id; } fields.Add(new Tuple <FieldUri, string>(new FieldUri(ItemUri, publishingGroups), targets)); ItemModifier.Edit(ItemUri.DatabaseUri, fields); }
public override void Execute(object parameter) { var context = parameter as IItemSelectionContext; if (context == null) { return; } ExecuteCompleted completed = delegate(string response, ExecuteResult result) { DataService.HandleExecute(response, result); var fieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Workflow/Workflow/__Lock"); foreach (var i in context.Items) { var fieldUri = new FieldUri(new ItemVersionUri(i.ItemUri, LanguageManager.CurrentLanguage, Version.Latest), fieldId); Notifications.RaiseFieldChanged(this, fieldUri, string.Empty); } var item = context.Items.FirstOrDefault() as BaseTreeViewItem; if (item == null) { return; } var parent = item.GetParentTreeViewItem() as BaseTreeViewItem; if (parent == null) { return; } parent.Refresh(); }; var itemList = new StringBuilder(); IItem first = null; foreach (var item in context.Items) { if (first == null) { first = item; } else { itemList.Append("|"); } itemList.Append(item.ItemUri.ItemId); } if (first != null) { first.ItemUri.Site.DataService.ExecuteAsync("Security.Unlock", completed, first.ItemUri.DatabaseName.Name, itemList.ToString()); } }
public override void Execute(object parameter) { var context = parameter as ContentTreeContext; if (context == null) { return; } var item = context.SelectedItems.FirstOrDefault() as ItemTreeViewItem; if (item == null) { return; } var parentUri = item.ItemUri; // create __Standard Values item var templateUri = item.ItemUri; var standardValuesItemUri = parentUri.Site.DataService.AddFromTemplate(parentUri, templateUri, @"__Standard Values"); if (standardValuesItemUri == ItemUri.Empty) { return; } // set "Standard Values" field var standardValuesFieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Advanced/Advanced/__Standard values"); var standardValuesField = new Field { Value = standardValuesItemUri.ItemId.ToString(), HasValue = true }; standardValuesField.FieldUris.Add(new FieldUri(new ItemVersionUri(item.ItemUri, LanguageManager.CurrentLanguage, Version.Latest), standardValuesFieldId)); var fields = new List <Field> { standardValuesField }; ItemModifier.Edit(standardValuesItemUri.DatabaseUri, fields, true); // expand tree context.ContentTree.ExpandTo(standardValuesItemUri); var itemVersionUri = new ItemVersionUri(standardValuesItemUri, LanguageManager.CurrentLanguage, Version.Latest); item.Item.StandardValuesId = standardValuesItemUri.ItemId; item.Item.StandardValuesField = standardValuesItemUri.ItemId; AppHost.OpenContentEditor(itemVersionUri); Notifications.RaiseItemAdded(this, itemVersionUri, parentUri); }
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); }
public override void Execute(object parameter) { var context = parameter as ContentTreeContext; if (context == null) { return; } var item = context.SelectedItems.FirstOrDefault() as ItemTreeViewItem; if (item == null) { return; } var sortOrder = GetSortOrder(item); ExecuteCompleted completed = delegate(string response, ExecuteResult executeResult) { if (!DataService.HandleExecute(response, executeResult)) { return; } var fieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Appearance/Appearance/__Sortorder"); var fieldUri = new FieldUri(new ItemVersionUri(item.ItemUri, LanguageManager.CurrentLanguage, Version.Latest), fieldId); Notifications.RaiseFieldChanged(this, fieldUri, sortOrder.ToString()); var parent = item.GetParentTreeViewItem() as BaseTreeViewItem; if (parent == null) { return; } KeyboardManager.IsActive++; try { var itemTreeViewItem = parent as ItemTreeViewItem; if (itemTreeViewItem != null) { itemTreeViewItem.RefreshPreservingSelection(); } else { parent.Refresh(); } } finally { KeyboardManager.IsActive--; } }; item.ItemUri.Site.DataService.ExecuteAsync("SetSortOrder", completed, item.ItemUri.ItemId.ToString(), item.ItemUri.DatabaseName.Name, sortOrder); }
private void CopyNextTo([NotNull] DragCopyPipeline pipeline) { Debug.ArgumentNotNull(pipeline, nameof(pipeline)); int sortOrder; int sortOrderDelta; ItemTreeViewItem parent; ItemTreeViewItem anchor; SortOrderHelper.GetSortOrder(pipeline.Target, pipeline.Position, pipeline.Items.Count(), out sortOrder, out sortOrderDelta, out parent, out anchor); if (parent == null) { AppHost.MessageBox(Resources.CopyItems_CopyNextTo_Parent_is_not_an_item, Resources.Error, MessageBoxButton.OK, MessageBoxImage.Error); pipeline.Abort(); return; } pipeline.Owner = parent; pipeline.Anchor = anchor; var fieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Appearance/Appearance/__Sortorder"); foreach (var item in pipeline.Items) { var newName = string.Format(Resources.CopyItems_CopyNextTo_Copy_of__0_, item.Name); var newItemUri = item.ItemUri.Site.DataService.Copy(item.ItemUri, parent.ItemUri.ItemId, newName); if (newItemUri == ItemUri.Empty) { AppHost.MessageBox(string.Format(Resources.CopyItems_CopyNextTo_Failed_to_copy___0_, item.Name), Resources.Error, MessageBoxButton.OK, MessageBoxImage.Information); pipeline.Abort(); return; } var newItem = new DragCopyPipeline.NewItem { Item = item, NewName = newName, NewItemUri = newItemUri, SortOrder = sortOrder }; ItemModifier.Edit(newItemUri, fieldId, sortOrder.ToString(CultureInfo.InvariantCulture)); sortOrder += sortOrderDelta; pipeline.NewItems.Add(newItem); } }
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); }
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); }
public override void Execute(object parameter) { var context = parameter as IItemSelectionContext; if (context == null) { return; } var templateId = TemplateHeader.TemplateUri.ItemId.ToString(); var fieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Template/Data/__Base template"); foreach (var item in context.Items) { ItemModifier.Edit(item.ItemUri, fieldId, templateId); } }
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); }
private void MoveNextTo([NotNull] DragMovePipeline pipeline) { Debug.ArgumentNotNull(pipeline, nameof(pipeline)); int sortOrder; int sortOrderDelta; ItemTreeViewItem parent; ItemTreeViewItem anchor; SortOrderHelper.GetSortOrder(pipeline.Target, pipeline.Position, pipeline.Items.Count(), out sortOrder, out sortOrderDelta, out parent, out anchor); if (parent == null) { AppHost.MessageBox(Resources.MoveItems_MoveNextTo_Parent_is_not_an_item, Resources.Error, MessageBoxButton.OK, MessageBoxImage.Error); pipeline.Abort(); return; } pipeline.Owner = parent; pipeline.Anchor = anchor; var fieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Appearance/Appearance/__Sortorder"); foreach (var item in pipeline.Items) { if (!Move(item.ItemUri, parent.ItemUri)) { AppHost.MessageBox(string.Format(Resources.MoveItems_MoveNextTo_Failed_to_move___0_, item.Name), Resources.Error, MessageBoxButton.OK, MessageBoxImage.Error); break; } ItemModifier.Edit(item.ItemUri, fieldId, sortOrder.ToString()); var itemTreeViewItem = item as ItemTreeViewItem; if (itemTreeViewItem != null) { itemTreeViewItem.Item.SortOrder = sortOrder; } sortOrder += sortOrderDelta; pipeline.MovedItems.Add(item); } }
protected override void UpdateFields(NewItemWizardPipeline pipeline, ProjectItem projectItem, ItemUri itemUri) { Debug.ArgumentNotNull(pipeline, nameof(pipeline)); Debug.ArgumentNotNull(projectItem, nameof(projectItem)); Debug.ArgumentNotNull(itemUri, nameof(itemUri)); var fileName = GetFileName(pipeline, projectItem); var pathFieldId = IdManager.GetFieldId("/sitecore/templates/System/Layout/Layout/Data/Path"); var fieldValues = new List <Tuple <FieldId, string> > { new Tuple <FieldId, string>(pathFieldId, fileName), }; ItemModifier.Edit(itemUri, fieldValues); projectItem.Project.LinkItemAndFile(itemUri, fileName); }
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); }
private void TextChanged([NotNull] object sender, [NotNull] TextChangedEventArgs e) { Debug.ArgumentNotNull(sender, nameof(sender)); Debug.ArgumentNotNull(e, nameof(e)); ReloadImage(); var iconFieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Appearance/Appearance/__Icon"); if (sourceField.FieldUris.First().FieldId == iconFieldId) { UpdatedContentEditorIcon(); } var valueModified = ValueModified; if (valueModified != null) { valueModified(); } }
public override void Execute(object parameter) { var context = parameter as IItemSelectionContext; if (context == null) { return; } if (AppHost.MessageBox("Are you sure you want to reset the layout to the standard value?", "Confirmation", MessageBoxButton.OKCancel, MessageBoxImage.Question) != MessageBoxResult.OK) { return; } var databaseUri = DatabaseUri.Empty; var fields = new List <Field>(); var layoutFieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Layout/Layout/__Renderings"); foreach (var item in context.Items) { var field = new Field { ResetOnSave = true, HasValue = true, Value = string.Empty }; field.FieldUris.Add(new FieldUri(new ItemVersionUri(item.ItemUri, Language.Current, Version.Latest), layoutFieldId)); fields.Add(field); if (databaseUri == DatabaseUri.Empty) { databaseUri = item.ItemUri.DatabaseUri; } } ItemModifier.Edit(databaseUri, fields, false); }
protected virtual string GetValue([NotNull] ContentModel contentModel) { Debug.ArgumentNotNull(contentModel, nameof(contentModel)); var fieldId = IdManager.GetFieldId(FieldPath); foreach (var field in contentModel.Fields) { var fieldControl = field.Control; if (fieldControl == null) { continue; } if (field.FieldUris.First().FieldId == fieldId) { return(fieldControl.GetValue()); } } return(null); }
public override void Execute(object parameter) { var context = parameter as ContentTreeContext; if (context == null) { return; } var fieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Appearance/Appearance/__Sortorder"); foreach (var i in context.SelectedItems) { var item = i as ItemTreeViewItem; if (item == null) { continue; } var sortOrder = 0; foreach (var obj in item.Items) { var child = obj as ItemTreeViewItem; if (child == null) { continue; } ItemModifier.Edit(child.Item.ItemUri, fieldId, sortOrder.ToString()); child.Item.SortOrder = sortOrder; sortOrder += 100; } } }
static FieldIds() { Icon = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Appearance/Appearance/__Icon"); StandardValues = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Advanced/Advanced/__Standard values"); }
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 itemId = IdManager.GetItemId("/sitecore/system/Workflows"); SelectItemDialog dialog; while (true) { dialog = new SelectItemDialog(); dialog.Initialize(Resources.SetWorkflowState_Execute_Select_Workflow_State, new ItemUri(item.ItemUri.DatabaseUri, itemId)); if (AppHost.Shell.ShowDialog(dialog) != true) { return; } itemId = dialog.SelectedItemUri.ItemId; if (dialog.SelectedItemTemplateId == workflowStateId) { break; } if (AppHost.MessageBox(Resources.SetWorkflowState_Execute_, Resources.Error, MessageBoxButton.OKCancel, MessageBoxImage.Question) != MessageBoxResult.OK) { return; } } var stateId = dialog.SelectedItemUri.ItemId; var itemIdList = context.GetItemIdList(); var databaseName = context.Items.First().ItemUri.DatabaseName.ToString(); ExecuteCompleted completed = delegate(string response, ExecuteResult result) { if (!DataService.HandleExecute(response, result)) { return; } var workflowFieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Workflow/Workflow/__Workflow"); var stateFieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Workflow/Workflow/__Workflow state"); foreach (var i in context.Items) { var itemVersionUri = new ItemVersionUri(i.ItemUri, LanguageManager.CurrentLanguage, Data.Version.Latest); var fieldUri = new FieldUri(itemVersionUri, stateFieldId); Notifications.RaiseFieldChanged(this, fieldUri, stateId.ToString()); fieldUri = new FieldUri(itemVersionUri, workflowFieldId); Notifications.RaiseFieldChanged(this, fieldUri, response); } }; item.ItemUri.Site.DataService.ExecuteAsync("Workflows.SetWorkflowState", completed, databaseName, itemIdList, stateId.ToString()); }
private static void GetAfterSortOrder([NotNull] ItemTreeViewItem target, int itemCount, out int sortOrder, out int sortOrderDelta, [CanBeNull] out ItemTreeViewItem parent, [CanBeNull] out ItemTreeViewItem anchor) { Debug.ArgumentNotNull(target, nameof(target)); sortOrder = target.Item.SortOrder; parent = null; anchor = null; var itemsControl = target.GetParentTreeViewItem(); if (itemsControl == null) { sortOrder += 100; sortOrderDelta = 100; return; } parent = itemsControl as ItemTreeViewItem; if (parent == null) { sortOrder -= itemCount * 100; sortOrderDelta = 100; return; } var index = itemsControl.Items.IndexOf(target); if (index < 0 || index == itemsControl.Items.Count - 1) { sortOrder += 100; sortOrderDelta = 100; return; } var nextItem = itemsControl.Items[index + 1] as ItemTreeViewItem; if (nextItem == null) { sortOrder += 100; sortOrderDelta = 100; return; } anchor = nextItem; var nextSortOrder = nextItem.Item.SortOrder; if (nextSortOrder == sortOrder) { var sort = 0; var fieldId = IdManager.GetFieldId("/sitecore/templates/System/Templates/Sections/Appearance/Appearance/__Sortorder"); for (var i = 0; i < parent.Items.Count; i++) { var item = parent.Items[i] as ItemTreeViewItem; if (item != null) { ItemModifier.Edit(item.Item.ItemUri, fieldId, sort.ToString()); item.Item.SortOrder = sort; } sort += i == index ? (itemCount + 1) * 100 : 100; } sortOrder = index * 100; nextSortOrder = sortOrder + (itemCount + 1) * 100; } var gap = nextSortOrder - sortOrder; sortOrderDelta = gap / (itemCount + 1); if (sortOrderDelta == 0) { sortOrder = sortOrder + (int)Math.Floor((double)gap / 2); return; } sortOrder += sortOrderDelta; }