public override void Execute(object parameter) { var context = parameter as ItemDependencyContext; if (context == null) { return; } var templateId = IdManager.GetItemId("/sitecore/templates/System/Templates/Template"); var templateSectionId = IdManager.GetItemId("/sitecore/templates/System/Templates/Template section"); var templateFieldId = IdManager.GetItemId("/sitecore/templates/System/Templates/Template field"); context.Control.SetCheckBoxes(delegate(ItemDependencyListView.ItemDescriptor i) { if (i.IsChecked) { return; } i.IsChecked = i.Item.TemplateId == templateId || i.Item.TemplateId == templateSectionId || i.Item.TemplateId == templateFieldId; }); context.Control.RefreshItems(); }
public override bool CanExecute(object parameter) { var context = parameter as IItemSelectionContext; if (context == null) { return(false); } if (!context.Items.Any()) { return(false); } var templateId = IdManager.GetItemId("/sitecore/templates/System/Templates/Template"); foreach (var item in context.Items) { var templatedItem = item as ITemplatedItem; if (templatedItem == null) { return(false); } if (templatedItem.TemplateId != templateId) { return(false); } } return(true); }
protected virtual void Register([NotNull] Site site, [NotNull] List <EnvDTE.ProjectItem> items) { Debug.ArgumentNotNull(site, nameof(site)); Debug.ArgumentNotNull(items, nameof(items)); var databaseUri = new DatabaseUri(site, new DatabaseName("master")); var dialog = new SelectItemDialog(); dialog.Initialize(DialogTitle, databaseUri, DefaultItemPath); if (AppHost.Shell.ShowDialog(dialog) != true) { return; } var selectedItemUri = dialog.SelectedItemUri; ItemUri templateUri; Guid guid; if (Guid.TryParse(TemplateItemPath, out guid)) { templateUri = new ItemUri(databaseUri, new ItemId(guid)); } else { templateUri = new ItemUri(databaseUri, IdManager.GetItemId(TemplateItemPath)); } var item = items.FirstOrDefault(); if (item == null) { return; } var project = ProjectManager.GetProject(item); if (project == null) { return; } var itemUris = CreateItems(project, items, selectedItemUri, templateUri); var itemUri = itemUris.FirstOrDefault(); if (itemUri == null) { return; } if (AppHost.CurrentContentTree != null) { AppHost.CurrentContentTree.Locate(itemUri); } AppHost.OpenContentEditor(itemUri); }
private static bool GetSelectedInsertOptions([NotNull] IItem item, [NotNull] List <ItemId> selectedItems) { Debug.ArgumentNotNull(item, nameof(item)); Debug.ArgumentNotNull(selectedItems, nameof(selectedItems)); Item i = null; bool[] busy = { true }; GetValueCompleted <Item> completed = delegate(Item value) { if (!busy[0]) { return; } i = value; busy[0] = false; }; AppHost.Server.GetItem(new ItemVersionUri(item.ItemUri, LanguageManager.CurrentLanguage, Data.Version.Latest), completed); if (!AppHost.DoEvents(ref busy[0])) { return(false); } if (i == null) { return(false); } var fieldId = IdManager.GetItemId("/sitecore/templates/System/Templates/Sections/Insert Options/Insert Options/__Masters"); var field = i.Fields.FirstOrDefault(f => f != null && f.TemplateFieldId == fieldId); if (field == null || string.IsNullOrEmpty(field.Value)) { return(true); } var values = field.Value.Replace(",", "|"); foreach (var s in values.Split('|')) { if (!string.IsNullOrEmpty(s)) { selectedItems.Add(new ItemId(new Guid(s))); } } return(true); }
public override void Execute(object parameter) { var context = parameter as IItemSelectionContext; if (context == null) { return; } var item = context.Items.FirstOrDefault() as ITemplatedItem; if (item == null) { return; } var parentUri = item.ItemUri; var templateUri = new ItemUri(item.ItemUri.DatabaseUri, IdManager.GetItemId("/sitecore/templates/System/Templates/Template")); var parameterTemplateUri = parentUri.Site.DataService.AddFromTemplate(parentUri, templateUri, item.Name + @"-Parameters"); if (parameterTemplateUri == ItemUri.Empty) { return; } AppHost.Server.UpdateItem(parameterTemplateUri, BaseTemplateFieldId, ControlBaseItemId.ToString()); var parameterTemplateFieldId = new FieldId(new Guid("{7D24E54F-5C16-4314-90C9-6051AA1A7DA1}")); var fields = new List <Tuple <FieldId, string> > { new Tuple <FieldId, string>(parameterTemplateFieldId, parameterTemplateUri.ItemId.ToString()), new Tuple <FieldId, string>(DataSourceLocation, "PageSettings"), new Tuple <FieldId, string>(DataSourceTemplate, parameterTemplateUri.ItemId.ToString()) }; AppHost.Server.UpdateItem(parentUri, fields); AppHost.Windows.OpenTemplateDesigner(parameterTemplateUri); Notifications.RaiseItemAdded(this, new ItemVersionUri(parameterTemplateUri, LanguageManager.CurrentLanguage, Data.Version.Latest), parentUri); var activeContentTree = ActiveContext.ActiveContentTree; if (item is ItemTreeViewItem && activeContentTree != null) { var treeViewItem = activeContentTree.ContentTreeView.ExpandTo(parameterTemplateUri); if (treeViewItem != null) { treeViewItem.IsSelected = true; } } }
private void Browse([NotNull] object sender, [NotNull] RoutedEventArgs e) { Debug.ArgumentNotNull(sender, nameof(sender)); Debug.ArgumentNotNull(e, nameof(e)); var sourceField = SourceField; if (sourceField == null) { return; } var itemId = ItemUri.ItemId; if (itemId == ItemId.Empty) { itemId = IdManager.GetItemId("/sitecore/content"); } var itemUri = new ItemUri(sourceField.FieldUris.First().ItemVersionUri.DatabaseUri, itemId); var dialog = new SelectItemDialog(); dialog.Initialize(Rocks.Resources.Browse, itemUri); if (AppHost.Shell.ShowDialog(dialog) != true) { return; } itemUri = dialog.SelectedItemUri; if (itemUri == ItemUri.Empty) { return; } ItemUri = itemUri; LinkType = @"internal"; var selectedItemTemplateId = dialog.SelectedItemTemplateId; if (selectedItemTemplateId != null && IdManager.GetTemplateType(selectedItemTemplateId) == "media") { LinkType = @"media"; } UpdateValue(); RaiseModified(); Render(); }
public void Search([NotNull] string queryText, [NotNull] string field, int pageNumber) { Assert.ArgumentNotNull(queryText, nameof(queryText)); Assert.ArgumentNotNull(field, nameof(field)); if (string.IsNullOrEmpty(queryText)) { queryText = @"_updated:[00010101 TO 21003112]"; } queryText = queryText.Replace(@"\", @"\\"); var root = new ItemUri(new DatabaseUri(Site, DatabaseName.Master), IdManager.GetItemId("/sitecore/media library")); Site.DataService.SearchMedia(queryText, root.DatabaseUri, field, string.Empty, root, pageNumber, LoadHits); }
private void HandleItemsDragOver([NotNull] object sender, [NotNull] DragEventArgs e) { Debug.ArgumentNotNull(sender, nameof(sender)); Debug.ArgumentNotNull(e, nameof(e)); if (e.Source != ScrollViewer) { return; } if (!e.Data.GetDataPresent(DragManager.DragIdentifier)) { return; } e.Effects = DragDropEffects.None; e.Handled = true; var items = e.Data.GetData(DragManager.DragIdentifier) as IEnumerable <IItem>; if (items == null) { return; } if (items.Count() != 1) { return; } var item = items.First() as ITemplatedItem; if (item == null) { return; } var templateSectionId = IdManager.GetItemId("/sitecore/templates/System/Templates/Template section"); var templateFieldId = IdManager.GetItemId("/sitecore/templates/System/Templates/Template field"); if (item.TemplateId != templateSectionId && item.TemplateId != templateFieldId) { return; } e.Effects = DragDropEffects.Copy; }
private bool IsMediaItem() { var item = this; var mediaLibraryId = IdManager.GetItemId("/sitecore/media library"); while (item != null) { if (item.Item.ItemId == mediaLibraryId) { return(true); } item = item.GetParentTreeViewItem() as ItemTreeViewItem; } return(false); }
public override bool CanExecute(object parameter) { var context = parameter as ContentTreeContext; if (context == null) { return(false); } if (context.SelectedItems.Count() != 1) { return(false); } var item = context.SelectedItems.FirstOrDefault() as ItemTreeViewItem; if (item == null) { return(false); } if (IdManager.GetTemplateType(item.Item.TemplateId) != "folder") { return(false); } if (item.Item.TemplateId != IdManager.GetItemId("/sitecore/templates/System/Templates/Template Folder")) { var path = item.GetPath(); if (!path.Contains(@"/sitecore/templates/")) { return(false); } } if ((item.Site.DataService.FeatureCapabilities & DataServiceFeatureCapabilities.EditTemplate) != DataServiceFeatureCapabilities.EditTemplate) { return(false); } return(true); }
private void HandleItemsDrop([NotNull] object sender, [NotNull] DragEventArgs e) { Debug.ArgumentNotNull(sender, nameof(sender)); Debug.ArgumentNotNull(e, nameof(e)); if (!e.Data.GetDataPresent(DragManager.DragIdentifier)) { return; } e.Handled = true; var items = e.Data.GetData(DragManager.DragIdentifier) as IEnumerable <IItem>; if (items == null) { return; } var item = items.First() as ITemplatedItem; if (item == null) { return; } var templateSectionId = IdManager.GetItemId("/sitecore/templates/System/Templates/Template section"); if (item.TemplateId == templateSectionId) { TemplateUri.Site.DataService.ExecuteAsync("Templates.GetSectionXml", DropTemplateSection, item.ItemUri.DatabaseName.Name, item.ItemUri.ItemId.ToString(), false); } var templateFieldId = IdManager.GetItemId("/sitecore/templates/System/Templates/Template field"); if (item.TemplateId == templateFieldId) { TemplateUri.Site.DataService.ExecuteAsync("Templates.GetFieldXml", DropTemplateField, item.ItemUri.DatabaseName.Name, item.ItemUri.ItemId.ToString(), false); } }
private void Opened([NotNull] object sender, [NotNull] RoutedEventArgs e) { Debug.ArgumentNotNull(sender, nameof(sender)); Debug.ArgumentNotNull(e, nameof(e)); var menuItem = e.Source as MenuItem; if (menuItem == null) { return; } if (menuItem.Items.Count != 1) { return; } var m = menuItem.Items[0] as MenuItem; if (m == null || m.Tag as string != @"loading") { return; } if (Context == null) { return; } var to = DateTime.Now.AddDays(1).ToString(@"yyyyMMdd"); var from = DateTime.Now.AddDays(-7).ToString(@"yyyyMMdd"); var query = string.Format(@"[{0} TO {1}]", from, to); var fieldUri = Context.Field.FieldUris.First(); var root = new ItemUri(fieldUri.ItemVersionUri.DatabaseUri, IdManager.GetItemId("/sitecore/media library")); GetItemsCompleted <ItemHeader> callback = items => LoadRecentMedia(menuItem, items); fieldUri.Site.DataService.SearchMedia(query, fieldUri.ItemVersionUri.DatabaseUri, "__updated", string.Empty, root, 0, callback); }
public override ItemId GetRootItemId() { return(IdManager.GetItemId("/sitecore/layout/Renderings")); }
public override void Execute(object parameter) { var context = parameter as ContentTreeContext; if (context == null) { AppHost.MessageBox(Resources.NewTemplate_Execute_, Resources.NewTemplate_Execute_Create_New_Template, MessageBoxButton.OK, MessageBoxImage.Information); return; } var item = context.SelectedItems.FirstOrDefault() as ItemTreeViewItem; if (item == null) { AppHost.MessageBox(Resources.NewTemplate_Execute_There_is_no_active_item_, Resources.NewTemplate_Execute_Create_New_Template, MessageBoxButton.OK, MessageBoxImage.Information); return; } // get template name var dialog = new NewTemplateDialog(); dialog.Initialize("New Template", item.ItemUri.DatabaseUri, new[] { IdManager.GetItemId("/sitecore/templates/System/Templates/Standard template") }); if (AppHost.Shell.ShowDialog(dialog) != true) { return; } // create template item var templateName = dialog.ItemName; var templateUri = new ItemUri(item.ItemUri.DatabaseUri, IdManager.GetItemId("/sitecore/templates/System/Templates/Template")); var itemUri = item.ItemUri.Site.DataService.AddFromTemplate(item.ItemUri, templateUri, templateName); if (itemUri == ItemUri.Empty) { AppHost.MessageBox(Resources.NewTemplate_Execute_Failed_to_create_the_template_, Resources.NewTemplate_Execute_Create_New_Template, MessageBoxButton.OK, MessageBoxImage.Information); return; } var baseTemplates = string.Join("|", dialog.SelectedTemplates.Select(i => i.ToString())); if (string.IsNullOrEmpty(baseTemplates)) { baseTemplates = IdManager.GetItemId("/sitecore/templates/System/Templates/Standard template").ToString(); } // set "Base Template" field var baseTemplateField = new Field { Value = baseTemplates, HasValue = true }; baseTemplateField.FieldUris.Add(new FieldUri(new ItemVersionUri(itemUri, LanguageManager.CurrentLanguage, Data.Version.Latest), BaseTemplateFieldId)); var fields = new List <Field> { baseTemplateField }; itemUri.Site.DataService.Save(itemUri.DatabaseName, fields); if (dialog.CreateStandardValues) { CreateStandardValues(itemUri); } // expand tree context.ContentTree.ExpandTo(itemUri); // design template AppHost.Windows.Factory.OpenTemplateDesigner(itemUri); Notifications.RaiseItemAdded(this, new ItemVersionUri(itemUri, LanguageManager.CurrentLanguage, Data.Version.Latest), item.ItemUri); }
public LayoutFileItemHandler() { TemplateId = IdManager.GetItemId(IdManager.SitecoreTemplatesSystemLayoutLayout); FieldId = new FieldId(IdManager.GetItemId(IdManager.SitecoreTemplatesSystemLayoutLayoutDataPath).ToGuid()); }
public override void Execute(object parameter) { var context = parameter as LayoutDesignerContext; if (context == null) { return; } var selectedItem = context.SelectedItem; if (selectedItem == null) { return; } var item = selectedItem as PlaceholderItem; if (item == null) { return; } if (!string.IsNullOrEmpty(item.MetaDataItemId)) { GetValueCompleted <Item> completed = delegate(Item placeholderSettingsItem) { var selectedItems = new List <ItemId>(); var allowedControls = placeholderSettingsItem.Fields.FirstOrDefault(f => f.Name == "Allowed Controls"); if (allowedControls != null) { selectedItems.AddRange(allowedControls.Value.Split(Pipe, StringSplitOptions.RemoveEmptyEntries).Where(v => !string.IsNullOrWhiteSpace(v)).Select(id => new ItemId(new Guid(id)))); } SetAllowed(item, selectedItems); }; var itemVersionUri = new ItemVersionUri(new ItemUri(item.DatabaseUri, new ItemId(new Guid(item.MetaDataItemId))), Language.Current, Data.Version.Latest); item.DatabaseUri.Site.DataService.GetItemFieldsAsync(itemVersionUri, completed); return; } var d = new SelectItemDialog(); d.Initialize("Create Placeholder Settings Item", item.DatabaseUri, "/sitecore/layout/Placeholder Settings"); if (AppHost.Shell.ShowDialog(d) != true) { return; } var templateId = IdManager.GetItemId("/sitecore/templates/System/Layout/Placeholder"); var templateUri = new ItemUri(item.DatabaseUri, templateId); var newItemUri = AppHost.Server.AddFromTemplate(d.SelectedItemUri, templateUri, item.Name + "Settings"); if (newItemUri == ItemUri.Empty) { return; } item.MetaDataItemId = newItemUri.ItemId.ToString(); SetAllowed(item, Enumerable.Empty <ItemId>()); }
public CreateMvcLayoutHandler() { FileType = "MvcLayout"; TemplateName = "Layout"; TemplateId = IdManager.GetItemId("/sitecore/templates/System/Layout/Layout"); }
public XsltFileItemHandler() { TemplateId = IdManager.GetItemId(IdManager.SitecoreTemplatesSystemLayoutRenderingsXslRendering); FieldId = new FieldId(IdManager.GetItemId(IdManager.SitecoreTemplatesSystemLayoutRenderingsXslRenderingDataPath).ToGuid()); }
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()); }
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 parent = item.Parent as ItemTreeViewItem; if (parent == null) { return; } var templateName = string.Format(Resources.NewDerivedTemplate_Execute_New__0_, item.Text); templateName = AppHost.Prompt(Resources.NewDerivedTemplate_Execute_Enter_the_Name_of_the_Derived_Template_, Resources.NewDerivedTemplate_Execute_Derived_Template, templateName); if (templateName == null) { return; } var parentUri = parent.ItemUri; // create template item var templateUri = new ItemUri(parent.ItemUri.DatabaseUri, IdManager.GetItemId("/sitecore/templates/System/Templates/Template")); var itemUri = parent.ItemUri.Site.DataService.AddFromTemplate(parentUri, templateUri, templateName); if (itemUri == ItemUri.Empty) { return; } // set "Base Template" field var baseTemplateField = new Field { Value = item.ItemUri.ItemId.ToString(), HasValue = true }; baseTemplateField.FieldUris.Add(new FieldUri(new ItemVersionUri(itemUri, LanguageManager.CurrentLanguage, Data.Version.Latest), baseTemplateFieldId)); var fields = new List <Field> { baseTemplateField }; itemUri.Site.DataService.Save(itemUri.DatabaseName, fields); // expand tree context.ContentTree.ExpandTo(itemUri); // design template AppHost.Windows.Factory.OpenTemplateDesigner(itemUri); Notifications.RaiseItemAdded(this, new ItemVersionUri(itemUri, LanguageManager.CurrentLanguage, Data.Version.Latest), parentUri); }