private void UpdatePath() { PathTextBlock.Text = "[Image has been updated]"; var fieldUri = sourceField.FieldUris.FirstOrDefault(); if (fieldUri == null) { return; } PathTextBlock.Text = "[Updating image]"; ExecuteCompleted completed = delegate(string response, ExecuteResult result) { if (!DataService.HandleExecute(response, result, true)) { PathTextBlock.Text = "[Image not found]"; return; } var element = response.ToXElement(); if (element == null) { return; } var itemHeader = ItemHeader.Parse(fieldUri.DatabaseUri, element); PathTextBlock.Text = itemHeader.Path; }; AppHost.Server.Items.GetItemHeader(MediaUri, completed); }
private void FindPlaceHolderSettingsItem([NotNull] Action <ItemHeader> action) { Debug.ArgumentNotNull(action, nameof(action)); var placeHolderName = PlaceHolderTreeViewItem.PlaceHolderName; var placeHolderPath = PlaceHolderTreeViewItem.GetPlaceHolderPath(); var device = PlaceHolderTreeViewItem.DeviceTreeViewItem.Device; Site.RequestCompleted completed = delegate(string response) { if (string.IsNullOrEmpty(response)) { CreatePlaceHolderSettings(placeHolderName, placeHolderPath, action); return; } var root = response.ToXElement(); if (root == null) { return; } var itemHeader = ItemHeader.Parse(device.DatabaseUri, root); action(itemHeader); }; device.DatabaseUri.Site.Execute("LayoutBuilders.GetPlaceHolderSettings", completed, device.DatabaseUri.DatabaseName.ToString(), placeHolderName, placeHolderPath); }
public static void GetInsertOptions([NotNull] this DataService dataService, [NotNull] ItemUri itemUri, [NotNull] GetItemsCompleted <ItemHeader> callback) { Assert.ArgumentNotNull(dataService, nameof(dataService)); Assert.ArgumentNotNull(itemUri, nameof(itemUri)); Assert.ArgumentNotNull(callback, nameof(callback)); ExecuteCompleted c = delegate(string response, ExecuteResult executeResult) { if (!DataService.HandleExecute(response, executeResult)) { callback(Enumerable.Empty <ItemHeader>()); return; } var root = Parse(response); if (root == null) { callback(Enumerable.Empty <ItemHeader>()); return; } var result = root.Elements().Select(element => ItemHeader.Parse(itemUri.DatabaseUri, element)).ToList(); callback(result); }; dataService.ExecuteAsync("Sitecore.Rocks.Server.Requests.GetInsertOptions", c, itemUri.DatabaseName.Name, itemUri.ItemId.ToString()); }
private void HandleTextChanged([NotNull] object sender, [NotNull] TextChangedEventArgs e) { Debug.ArgumentNotNull(sender, nameof(sender)); Debug.ArgumentNotNull(e, nameof(e)); if (string.IsNullOrEmpty(LayoutSelector.Text)) { Path.Text = "[No Layout]"; return; } Path.Text = "[Updating Layout]"; ExecuteCompleted completed = delegate(string response, ExecuteResult result) { if (!DataService.HandleExecute(response, result, true)) { Path.Text = "[Layout not found]"; return; } var element = response.ToXElement(); if (element == null) { return; } var itemHeader = ItemHeader.Parse(Device.DatabaseUri, element); Path.Text = itemHeader.Path; }; Device.DatabaseUri.Site.DataService.ExecuteAsync("Items.GetItemHeader", completed, LayoutSelector.Text, Device.DatabaseUri.DatabaseName.Name); }
public static ItemHeader GetItemHeader([NotNull] XElement element, [NotNull] DatabaseUri databaseUri) { Assert.ArgumentNotNull(element, nameof(element)); Assert.ArgumentNotNull(databaseUri, nameof(databaseUri)); return(ItemHeader.Parse(databaseUri, element)); }
public static void Query([NotNull] this DataService dataService, [NotNull] string queryText, [NotNull] DatabaseUri databaseUri, [NotNull] GetItemsCompleted <ItemHeader> callback) { Assert.ArgumentNotNull(dataService, nameof(dataService)); Assert.ArgumentNotNull(queryText, nameof(queryText)); Assert.ArgumentNotNull(databaseUri, nameof(databaseUri)); Assert.ArgumentNotNull(callback, nameof(callback)); ExecuteCompleted c = delegate(string response, ExecuteResult executeResult) { if (!DataService.HandleExecute(response, executeResult)) { callback(Enumerable.Empty <ItemHeader>()); return; } var root = Parse(response); if (root == null) { callback(Enumerable.Empty <ItemHeader>()); return; } var result = new List <ItemHeader>(); foreach (var element in root.Elements()) { result.Add(ItemHeader.Parse(databaseUri, element)); } callback(result); }; dataService.ExecuteAsync("Sitecore.Rocks.Server.Requests.Query", c, queryText); }
public static void SelectItems([NotNull] this DataService dataService, [NotNull] string queryText, [NotNull] DatabaseUri databaseUri, [NotNull] GetItemsCompleted <ItemHeader> callback) { Assert.ArgumentNotNull(dataService, nameof(dataService)); Assert.ArgumentNotNull(queryText, nameof(queryText)); Assert.ArgumentNotNull(databaseUri, nameof(databaseUri)); Assert.ArgumentNotNull(callback, nameof(callback)); ExecuteCompleted c = delegate(string response, ExecuteResult executeResult) { if (!DataService.HandleExecute(response, executeResult)) { callback(Enumerable.Empty <ItemHeader>()); return; } var root = Parse(response); if (root == null) { callback(Enumerable.Empty <ItemHeader>()); return; } var items = root.Elements().Select(element => ItemHeader.Parse(databaseUri, element)).ToList(); callback(items); }; dataService.ExecuteAsync("Search.SelectItems", c, queryText, databaseUri.DatabaseName.ToString()); }
private void LoadRenderings([NotNull] string response, [NotNull] ExecuteResult executeResult) { if (!DataService.HandleExecute(response, executeResult)) { return; } var root = response.ToXElement(); if (root == null) { return; } var renderings = root.Elements().Select(element => ItemHeader.Parse(DatabaseUri, element)).ToList(); Renderings = renderings.Select(t => new CheckedItemHeader(t, SelectedItems.Contains(t.ItemUri.ItemId))).ToList(); RenderingListView.ItemsSource = Renderings; _listViewSorter.Resort(); _view = CollectionViewSource.GetDefaultView(Renderings) as CollectionView; if (_view == null) { return; } var groupDescription = new PropertyGroupDescription("ParentPath") { StringComparison = StringComparison.InvariantCultureIgnoreCase }; var collection = _view.GroupDescriptions; if (collection != null) { collection.Clear(); collection.Add(groupDescription); } _view.Filter = delegate(object o) { var itemHeader = o as ItemHeader; return(itemHeader != null && itemHeader.Name.IsFilterMatch(RenderinSelectorFilter.Text)); }; _view.Refresh(); RenderingListView.ResizeColumn(NameColumn); Loading.Visibility = Visibility.Collapsed; RenderingListView.Visibility = Visibility.Visible; var loaded = RenderingsLoaded; if (loaded != null) { loaded(this, EventArgs.Empty); } }
private void LayoutSelectorTextChanged([NotNull] object sender, [NotNull] TextChangedEventArgs e) { Debug.ArgumentNotNull(sender, nameof(sender)); Debug.ArgumentNotNull(e, nameof(e)); Modified = true; LayoutSelectorImage.Visibility = Visibility.Collapsed; if (string.IsNullOrEmpty(LayoutSelector.Text)) { LayoutUri = ItemUri.Empty; return; } ExecuteCompleted completed = delegate(string response, ExecuteResult result) { if (!DataService.HandleExecute(response, result, true)) { LayoutSelectorImage.Visibility = Visibility.Visible; return; } var element = response.ToXElement(); if (element == null) { LayoutSelectorImage.Visibility = Visibility.Visible; } var itemHeader = ItemHeader.Parse(DatabaseUri, element); LayoutUri = itemHeader.ItemUri; }; DatabaseUri.Site.DataService.ExecuteAsync("Items.GetItemHeader", completed, LayoutSelector.Text, DatabaseUri.DatabaseName.Name); }
public override void Execute(object parameter) { var context = parameter as LayoutDesignerContext; if (context == null) { return; } var contentTree = ActiveContext.ActiveContentTree; if (contentTree == null) { return; } var selectedItem = context.SelectedItem; if (selectedItem == null) { return; } var item = selectedItem as PlaceholderItem; if (item == null) { return; } var databaseUri = context.LayoutDesigner.DatabaseUri; ExecuteCompleted completed = delegate(string response, ExecuteResult result) { if (!DataService.HandleExecute(response, result)) { return; } var element = response.ToXElement(); if (element == null) { return; } var itemHeader = ItemHeader.Parse(databaseUri, element); if (Keyboard.Modifiers == ModifierKeys.Control) { AppHost.OpenContentEditor(itemHeader.ItemUri); } else { contentTree.Locate(itemHeader.ItemUri); } }; databaseUri.Site.DataService.ExecuteAsync("Items.GetItemHeader", completed, item.MetaDataItemId, databaseUri.DatabaseName.ToString()); }
private void Opened([NotNull] object sender, [NotNull] RoutedEventArgs e) { Debug.ArgumentNotNull(sender, nameof(sender)); Debug.ArgumentNotNull(e, nameof(e)); var context = Context; if (context == null) { return; } var menuItem = e.Source as MenuItem; if (menuItem == null) { return; } var item = menuItem.Items.OfType <MenuItem>().FirstOrDefault(i => i.Tag as string == @"loading"); if (item == null) { return; } var placeHolderTreeViewItem = context.TreeViewItems.FirstOrDefault() as PlaceHolderTreeViewItem; if (placeHolderTreeViewItem == null) { return; } var placeHolderName = placeHolderTreeViewItem.PlaceHolderName; var placeHolderPath = placeHolderTreeViewItem.GetPlaceHolderPath(); var index = menuItem.Items.IndexOf(item); menuItem.Items.Insert(index + 1, new Separator()); var device = placeHolderTreeViewItem.DeviceTreeViewItem.Device; ExecuteCompleted completed = delegate(string response, ExecuteResult executeResult) { var root = response.ToXElement(); if (root == null) { return; } var items = root.Elements().Select(element => ItemHeader.Parse(device.DatabaseUri, element)).ToList(); LoadRenderings(menuItem, items); }; AppHost.Server.LayoutBuilders.GetRenderingsInPlaceHolder(device.DatabaseUri, placeHolderName, placeHolderPath, completed); }
private void ParseItems([NotNull] XElement root, [NotNull] DatabaseUri databaseUri) { Debug.ArgumentNotNull(root, nameof(root)); Debug.ArgumentNotNull(databaseUri, nameof(databaseUri)); var items = root.Elements().Select(element => ItemHeader.Parse(databaseUri, element)).ToList(); ItemDescriptors = items.Select(item => new ItemDescriptor(item)).ToList(); }
private void TextChanged([NotNull] object sender, [NotNull] TextChangedEventArgs e) { Debug.ArgumentNotNull(sender, nameof(sender)); Debug.ArgumentNotNull(e, nameof(e)); var valueModified = ValueModified; if (valueModified != null) { valueModified(); } var sourceField = SourceField; if (sourceField == null) { return; } var fieldUri = sourceField.FieldUris.FirstOrDefault(); if (fieldUri == null) { return; } if (string.IsNullOrEmpty(Link.Text)) { UpdatePath(string.Empty); return; } UpdatePath("[Updating path]"); ExecuteCompleted completed = delegate(string response, ExecuteResult result) { if (!DataService.HandleExecute(response, result, true)) { UpdatePath("[Item not found]"); return; } var element = response.ToXElement(); if (element == null) { return; } var itemHeader = ItemHeader.Parse(fieldUri.DatabaseUri, element); UpdatePath(itemHeader.Path); }; fieldUri.Site.DataService.ExecuteAsync("Items.GetItemHeader", completed, Link.Text, fieldUri.DatabaseName.Name); }
private void CreatePlaceHolderSettings([NotNull] string placeHolderName, [NotNull] string placeHolderPath, [NotNull] Action <ItemHeader> action) { Debug.ArgumentNotNull(placeHolderName, nameof(placeHolderName)); Debug.ArgumentNotNull(placeHolderPath, nameof(placeHolderPath)); Debug.ArgumentNotNull(action, nameof(action)); var device = PlaceHolderTreeViewItem.DeviceTreeViewItem.Device; var options = new TaskDialogOptions { Owner = this.GetAncestorOrSelf <Window>(), Title = "Place Holder Settings", CommonButtons = TaskDialogCommonButtons.None, MainInstruction = "The place holder settings item was not found.", MainIcon = VistaTaskDialogIcon.Information, CommandButtons = new[] { string.Format("Create place holder settings with name \"{0}\"", placeHolderName), string.Format("Create place holder settings with qualified name \"{0}\"", placeHolderPath) }, AllowDialogCancellation = true }; var r = TaskDialog.Show(options).CommandButtonResult; if (r == null) { return; } var path = r == 0 ? placeHolderName : placeHolderPath; Site.RequestCompleted completed = delegate(string response) { if (string.IsNullOrEmpty(response)) { AppHost.MessageBox("Could not create the Place Holder Settings item.", "Information", MessageBoxButton.OK, MessageBoxImage.Information); return; } var root = response.ToXElement(); if (root == null) { AppHost.MessageBox("Could not create the Place Holder Settings item.", "Information", MessageBoxButton.OK, MessageBoxImage.Information); return; } var itemHeader = ItemHeader.Parse(device.DatabaseUri, root); action(itemHeader); }; device.DatabaseUri.Site.Execute("Layouts.CreatePlaceHolderSettings", completed, device.DatabaseUri.DatabaseName.ToString(), path); }
private void ParseItems([NotNull] XElement root, [NotNull] Site site) { Debug.ArgumentNotNull(root, nameof(root)); Debug.ArgumentNotNull(site, nameof(site)); Func <XElement, ItemDescriptor> selector = delegate(XElement element) { var databaseUri = new DatabaseUri(site, new DatabaseName(element.GetAttributeValue("database"))); return(new ItemDescriptor(ItemHeader.Parse(databaseUri, element))); }; ItemDescriptors = root.Elements().Select(selector).ToList(); }
public static void SearchMedia([NotNull] this DataService dataService, [NotNull] string queryText, [NotNull] DatabaseUri databaseUri, [Localizable(false), NotNull] string field, [NotNull] string condition, [NotNull] ItemUri root, int pageNumber, [NotNull] GetItemsCompleted <ItemHeader> callback) { Assert.ArgumentNotNull(dataService, nameof(dataService)); Assert.ArgumentNotNull(queryText, nameof(queryText)); Assert.ArgumentNotNull(databaseUri, nameof(databaseUri)); Assert.ArgumentNotNull(field, nameof(field)); Assert.ArgumentNotNull(condition, nameof(condition)); Assert.ArgumentNotNull(root, nameof(root)); Assert.ArgumentNotNull(callback, nameof(callback)); var databaseName = databaseUri.DatabaseName.Name; var itemId = string.Empty; if (root != ItemUri.Empty) { databaseName = root.DatabaseName.ToString(); itemId = root.ItemId.ToString(); } ExecuteCompleted c = delegate(string response, ExecuteResult executeResult) { if (!DataService.HandleExecute(response, executeResult)) { callback(Enumerable.Empty <ItemHeader>()); return; } var r = Parse(response); if (r == null) { callback(Enumerable.Empty <ItemHeader>()); return; } var result = new List <ItemHeader>(); foreach (var element in r.Elements()) { result.Add(ItemHeader.Parse(databaseUri, element)); } callback(result); }; dataService.ExecuteAsync("Media.Search", c, queryText, field, condition, databaseName, itemId, pageNumber); }
private void CopyItemBatch([NotNull] DragCopyPipeline pipeline) { Debug.ArgumentNotNull(pipeline, nameof(pipeline)); pipeline.Suspend(); var sourceItemIds = string.Join(",", pipeline.Items.Select(i => i.ItemUri.ItemId.ToString())); ExecuteCompleted completed = delegate(string response, ExecuteResult result) { if (!DataService.HandleExecute(response, result)) { pipeline.Abort(); return; } var root = response.ToXElement(); if (root == null) { pipeline.Abort(); return; } foreach (var element in root.Elements()) { var itemHeader = ItemHeader.Parse(pipeline.Target.ItemUri.DatabaseUri, element); var newItem = new DragCopyPipeline.NewItem { Item = itemHeader, NewName = itemHeader.Name, NewItemUri = itemHeader.ItemUri }; pipeline.NewItems.Add(newItem); } pipeline.Owner = pipeline.Target; pipeline.Anchor = null; pipeline.Resume(); }; AppHost.Server.Items.CopyItems(sourceItemIds, pipeline.Target.ItemUri, completed); }
public void Load() { var context = Commandy.Parameter as LayoutDesignerContext; if (context == null) { return; } var first = context.Items.FirstOrDefault(); if (first == null) { return; } renderingItems.Clear(); var databaseUri = first.ItemUri.DatabaseUri; ExecuteCompleted completed = (response, executeResult) => { if (!DataService.HandleExecute(response, executeResult)) { return; } var root = response.ToXElement(); if (root == null) { return; } var items = root.Elements().Select(element => ItemHeader.Parse(databaseUri, element)).ToList(); foreach (var itemHeader in items) { renderingItems.Add(new RenderingItem(null, itemHeader)); } IsReady = true; }; AppHost.Server.Layouts.GetRenderings(databaseUri, completed); }
public void BrowseImage([NotNull] object sender, [NotNull] RoutedEventArgs e) { Assert.ArgumentNotNull(sender, nameof(sender)); Assert.ArgumentNotNull(e, nameof(e)); var dialog = new SelectItemDialog(); DatabaseUri databaseUri; if (MediaUri == ItemUri.Empty) { databaseUri = sourceField.FieldUris.First().DatabaseUri; dialog.Initialize(Rocks.Resources.Browse, databaseUri, "/sitecore/media library"); } else { databaseUri = MediaUri.DatabaseUri; dialog.Initialize(Rocks.Resources.Browse, MediaUri); } if (AppHost.Shell.ShowDialog(dialog) != true) { return; } ExecuteCompleted completed = delegate(string response, ExecuteResult result) { if (!DataService.HandleExecute(response, result)) { return; } var element = response.ToXElement(); if (element == null) { return; } var itemHeader = ItemHeader.Parse(databaseUri, element); Update(itemHeader); }; AppHost.Server.Items.GetItemHeader(dialog.SelectedItemUri, completed); }
public override void Execute(object parameter) { var context = parameter as LayoutDesignerContext; if (context == null) { return; } var fieldUri = context.LayoutDesigner.FieldUris.FirstOrDefault(); if (fieldUri == null) { SelectItemToPreview(context); return; } ExecuteCompleted completed = delegate(string response, ExecuteResult result) { if (!DataService.HandleExecute(response, result)) { return; } var element = response.ToXElement(); if (element == null) { return; } var itemHeader = ItemHeader.Parse(fieldUri.DatabaseUri, element); if (itemHeader.Name != "__Standard Values") { Browse(itemHeader.ItemUri); return; } SelectItemToPreview(context); }; AppHost.Server.Items.GetItemHeader(fieldUri.ItemVersionUri.ItemUri, completed); }
public void GetPublishingCandidates(int pageNumber) { var site = DatabaseUri.Site; if (site == Site.Empty) { AppHost.MessageBox(Rocks.Resources.Search_HandleKeyDown_Please_select_a_database_first_, Rocks.Resources.Search_HandleKeyDown_Select_Database, MessageBoxButton.OK, MessageBoxImage.Information); return; } ExecuteCompleted c = delegate(string response, ExecuteResult executeResult) { if (!DataService.HandleExecute(response, executeResult)) { Loading.Visibility = Visibility.Collapsed; List.Visibility = Visibility.Visible; return; } var root = response.ToXElement(); if (root == null) { Loading.Visibility = Visibility.Collapsed; List.Visibility = Visibility.Visible; return; } var list = new List <ItemHeader>(); foreach (var element in root.Elements()) { var itemHeader = ItemHeader.Parse(DatabaseUri, element); list.Add(itemHeader); } LoadItems(list); }; Loading.Visibility = Visibility.Visible; List.Visibility = Visibility.Collapsed; DatabaseUri.Site.DataService.ExecuteAsync("Publishing.GetPublishingQueue", c, DatabaseUri.DatabaseName.ToString(), pageNumber); }
public override void Execute(object parameter) { var context = parameter as LayoutDesignerContext; if (context == null) { return; } var item = context.SelectedItems.FirstOrDefault() as RenderingItem; if (item == null) { return; } var databaseUri = context.LayoutDesigner.DatabaseUri; ExecuteCompleted completed = delegate(string response, ExecuteResult result) { if (!DataService.HandleExecute(response, result)) { return; } var element = response.ToXElement(); if (element == null) { return; } var itemHeader = ItemHeader.Parse(databaseUri, element); var activeContentTree = ActiveContext.ActiveContentTree; if (activeContentTree != null) { activeContentTree.Locate(itemHeader.ItemUri); } }; databaseUri.Site.DataService.ExecuteAsync("Items.GetItemHeader", completed, item.DataSource, databaseUri.DatabaseName.ToString()); }
private void SetRenderings([NotNull] string response, [NotNull] ExecuteResult executeResult) { Debug.ArgumentNotNull(response, nameof(response)); Debug.ArgumentNotNull(executeResult, nameof(executeResult)); if (!DataService.HandleExecute(response, executeResult)) { return; } var root = response.ToXElement(); if (root == null) { return; } var items = root.Elements().Select(element => ItemHeader.Parse(DatabaseUri, element)).Where(MatchesSpeakCoreVersion).ToList(); renderings.AddRange(items); foreach (var source in RenderingSelectorFilters) { source.SetRenderings(renderings); } var selectedItem = FilterListbox.SelectedItem as ListBoxItem; if (selectedItem != null) { selectedItem.IsSelected = false; selectedItem.IsSelected = true; return; } var firstItem = FilterListbox.Items.OfType <ListBoxItem>().FirstOrDefault(); if (firstItem != null) { firstItem.IsSelected = true; } }
public static void GetLinks([NotNull] this DataService dataService, [NotNull] ItemUri itemUri, [NotNull] GetLinksCompleted callback) { Assert.ArgumentNotNull(dataService, nameof(dataService)); Assert.ArgumentNotNull(itemUri, nameof(itemUri)); Assert.ArgumentNotNull(callback, nameof(callback)); ExecuteCompleted c = delegate(string response, ExecuteResult executeResult) { if (!DataService.HandleExecute(response, executeResult)) { callback(string.Empty, Enumerable.Empty <ItemHeader>(), Enumerable.Empty <ItemHeader>()); return; } var root = Parse(response); if (root == null) { callback(string.Empty, Enumerable.Empty <ItemHeader>(), Enumerable.Empty <ItemHeader>()); return; } var referencesElement = root.Element(@"references"); var referrersElement = root.Element(@"referrers"); if (referencesElement == null || referrersElement == null) { callback(string.Empty, Enumerable.Empty <ItemHeader>(), Enumerable.Empty <ItemHeader>()); return; } var name = root.GetAttributeValue("name"); var references = referencesElement.Elements().Select(element => ItemHeader.Parse(itemUri.DatabaseUri, element)).ToList(); var referrers = referrersElement.Elements().Select(element => ItemHeader.Parse(itemUri.DatabaseUri, element)).ToList(); callback(name, references, referrers); }; dataService.ExecuteAsync("Sitecore.Rocks.Server.Requests.Links.GetLinks", c, itemUri.DatabaseName.Name, itemUri.ItemId.ToString()); }
public static void GetItemHeader([NotNull] this DataService dataService, [NotNull] ItemUri itemUri, [NotNull] GetValueCompleted <ItemHeader> getItemHeaderCompleted) { Assert.ArgumentNotNull(dataService, nameof(dataService)); Assert.ArgumentNotNull(itemUri, nameof(itemUri)); Assert.ArgumentNotNull(getItemHeaderCompleted, nameof(getItemHeaderCompleted)); ExecuteCompleted c = delegate(string response, ExecuteResult executeResult) { if (!DataService.HandleExecute(response, executeResult)) { return; } var root = Parse(response); if (root != null) { getItemHeaderCompleted(ItemHeader.Parse(itemUri.DatabaseUri, root)); } }; itemUri.Site.DataService.ExecuteAsync("Items.GetItemHeader", c, itemUri.ItemId.ToString(), itemUri.DatabaseName.Name); }
public override void Execute(object parameter) { var context = parameter as LayoutDesignerContext; if (context == null) { return; } var item = context.SelectedItems.FirstOrDefault() as RenderingItem; if (item == null) { return; } var databaseUri = context.LayoutDesigner.DatabaseUri; ExecuteCompleted completed = delegate(string response, ExecuteResult result) { if (!DataService.HandleExecute(response, result)) { return; } var element = response.ToXElement(); if (element == null) { return; } var itemHeader = ItemHeader.Parse(databaseUri, element); AppHost.OpenContentEditor(new ItemVersionUri(itemHeader.ItemUri, LanguageManager.CurrentLanguage, Version.Latest)); }; databaseUri.Site.DataService.ExecuteAsync("Items.GetItemHeader", completed, item.DataSource, databaseUri.DatabaseName.ToString()); }
private void LoadRenderingGallery([NotNull] LayoutDesigner layoutDesigner, [NotNull] InRibbonGallery gallery) { Debug.ArgumentNotNull(layoutDesigner, nameof(layoutDesigner)); Debug.ArgumentNotNull(gallery, nameof(gallery)); Site.RequestCompleted completed = delegate(string response) { var root = response.ToXElement(); if (root == null) { return; } var items = root.Elements().Select(element => ItemHeader.Parse(layoutDesigner.DatabaseUri, element)).Where(e => MatchesSpeakCoreVersion(e, layoutDesigner)).ToList(); var renderings = new List <RenderingButton>(); foreach (var item in items.OrderBy(i => i.ParentName).ThenBy(i => i.Name)) { var button = new RenderingButton { Label = item.Name, Icon = item.Icon, Tag = item, ToolTip = ToolTipBuilder.BuildToolTip(item) }; button.PreviewMouseUp += (sender, args) => { AddRenderingFromRibbon(layoutDesigner, sender, button); }; renderings.Add(button); } renderings = renderings.OrderBy(i => i.Label).ToList(); gallery.ItemsSource = renderings; }; layoutDesigner.DatabaseUri.Site.Execute("Layouts.GetRenderings", completed, layoutDesigner.DatabaseUri.DatabaseName.ToString()); }
internal bool InternalAddItems([NotNull] string response, [NotNull] ExecuteResult executeresult) { Debug.ArgumentNotNull(response, nameof(response)); Debug.ArgumentNotNull(executeresult, nameof(executeresult)); if (!DataService.HandleExecute(response, executeresult)) { return(false); } var root = response.ToXElement(); if (root == null) { return(false); } foreach (var element in root.Elements()) { var databaseName = element.GetAttributeValue("database"); var databaseUri = new DatabaseUri(Site, new DatabaseName(databaseName)); var itemHeader = ItemHeader.Parse(databaseUri, element); if (Items.Any(i => i.ItemUri == itemHeader.ItemUri)) { continue; } var packageItem = new PackageItem(itemHeader); Items.Add(packageItem); } return(true); }
public static void Upload([NotNull] this DataService dataService, [NotNull] DatabaseUri databaseUri, [NotNull] string filePath, [NotNull] byte[] file, [NotNull] GetValueCompleted <ItemHeader> uploadCompleted) { Assert.ArgumentNotNull(dataService, nameof(dataService)); Assert.ArgumentNotNull(databaseUri, nameof(databaseUri)); Assert.ArgumentNotNull(filePath, nameof(filePath)); Assert.ArgumentNotNull(file, nameof(file)); Assert.ArgumentNotNull(uploadCompleted, nameof(uploadCompleted)); var data = Convert.ToBase64String(file); ExecuteCompleted c = delegate(string response, ExecuteResult executeResult) { if (!DataService.HandleExecute(response, executeResult)) { return; } var r = Parse(response); if (r == null) { return; } var element = r.Element(@"item"); if (element == null) { return; } var itemHeader = ItemHeader.Parse(databaseUri, element); uploadCompleted(itemHeader); }; databaseUri.Site.DataService.ExecuteAsync("Sitecore.Rocks.Server.Requests.Media.Upload", c, databaseUri.DatabaseName.Name, filePath, data); }
public void AddIdProperty([NotNull] string text, [NotNull] string propertyName) { Assert.ArgumentNotNull(text, nameof(text)); Assert.ArgumentNotNull(propertyName, nameof(propertyName)); AddLabel(text); var property = GetProperty(propertyName); var binding = new Binding(property.Name); var grid = new Grid(); grid.RowDefinitions.Add(new RowDefinition()); grid.ColumnDefinitions.Add(new ColumnDefinition()); grid.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto }); var textBox = new TextBox(); textBox.SetBinding(TextBox.TextProperty, binding); textBox.VerticalAlignment = VerticalAlignment.Center; grid.Children.Add(textBox); textBox.SetValue(Grid.ColumnProperty, 0); var button = new Button { Content = "Browse", Width = 75, Height = 23, Margin = new Thickness(2, 0, 0, 0) }; button.Click += delegate { var container = RenderingItem.RenderingContainer; if (container == null) { return; } var dialog = new SelectItemDialog(); dialog.Initialize("Browse", RenderingItem.ItemUri.DatabaseUri, textBox.Text ?? string.Empty); if (AppHost.Shell.ShowDialog(dialog) != true) { return; } textBox.Text = dialog.SelectedItemUri.ItemId.ToString(); }; grid.Children.Add(button); button.SetValue(Grid.ColumnProperty, 1); Grid.Children.Add(grid); var path = new TextBlock { Text = " ", Margin = new Thickness(0, 0, 0, 4), Foreground = SystemColors.GrayTextBrush, TextTrimming = TextTrimming.CharacterEllipsis }; Grid.Children.Add(new Border()); Grid.Children.Add(path); textBox.TextChanged += delegate { path.Text = "[Updating path]"; ExecuteCompleted completed = delegate(string response, ExecuteResult result) { if (!DataService.HandleExecute(response, result, true)) { path.Text = "[Item not found]"; return; } var element = response.ToXElement(); if (element == null) { path.Text = "[Item not found]"; return; } var itemHeader = ItemHeader.Parse(RenderingItem.ItemUri.DatabaseUri, element); path.Text = string.IsNullOrEmpty(itemHeader.Path) ? " " : itemHeader.Path; }; RenderingItem.ItemUri.Site.DataService.ExecuteAsync("Items.GetItemHeader", completed, textBox.Text, RenderingItem.ItemUri.DatabaseName.Name); }; var selectedItem = property.Value; textBox.Text = (selectedItem ?? string.Empty).ToString(); bindings.Add(BindingOperations.GetBindingExpressionBase(textBox, TextBox.TextProperty)); }