public void AddRendering([NotNull] RenderingItem rendering) { Assert.ArgumentNotNull(rendering, nameof(rendering)); var insertionIndex = List.SelectedIndex; var selectedRenderingIndex = List.SelectedIndex; if (insertionIndex < 0) { insertionIndex = items.Count; selectedRenderingIndex = insertionIndex; } else { insertionIndex++; } List.SelectedItem = AddRendering(rendering, insertionIndex, selectedRenderingIndex); NoItems.Visibility = Visibility.Collapsed; ListContextMenu.Visibility = Visibility.Visible; List.UpdateLayout(); var selectedItem = List.ItemContainerGenerator.ContainerFromItem(List.SelectedItem) as ListViewItem; if (selectedItem != null) { selectedItem.Focus(); } Modified = true; }
private string GetFilePath([NotNull] RenderingItem renderingItem, [NotNull] LayoutDesignerContext context) { Debug.ArgumentNotNull(context, nameof(context)); Debug.ArgumentNotNull(renderingItem, nameof(renderingItem)); var filePath = renderingItem.FilePath; if (string.IsNullOrEmpty(filePath)) { return(string.Empty); } if (filePath.StartsWith(@"/")) { filePath = filePath.Mid(1); } try { filePath = Path.Combine(context.LayoutDesigner.DatabaseUri.Site.WebRootPath, filePath); } catch (ArgumentException ex) { AppHost.MessageBox(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } return(GetPath(renderingItem, filePath)); }
public void LocateInLayoutPane([NotNull] RenderingItem rendering) { Assert.ArgumentNotNull(rendering, nameof(rendering)); var renderingTreeViewItem = FindItem <RenderingTreeViewItem>(i => i.Rendering == rendering); if (renderingTreeViewItem == null) { return; } var treeViewItem = renderingTreeViewItem.GetParentTreeViewItem() as BaseTreeViewItem; while (treeViewItem != null) { treeViewItem.IsExpanded = true; treeViewItem = treeViewItem.GetParentTreeViewItem() as BaseTreeViewItem; } renderingTreeViewItem.BringIntoView(); renderingTreeViewItem.IsSelected = true; renderingTreeViewItem.Focus(); Keyboard.Focus(renderingTreeViewItem); }
private Tuple <string, string> GetFromRenderingItem(Rendering rendering, GetRendererArgs args) { Template renderingTemplate = args.RenderingTemplate; if (renderingTemplate == null) { return(null); } if (!renderingTemplate.DescendsFromOrEquals(TemplateIds.ControllerRendering)) { return(null); } RenderingItem renderingItem = rendering.RenderingItem; if (renderingItem == null) { return(null); } string controllerName = renderingItem.InnerItem["Controller"]; string actionName = renderingItem.InnerItem["Controller Action"]; if (controllerName.IsWhiteSpaceOrNull()) { controllerName = NameConverter.ConvertItemNameToClassName(renderingItem.Name); } return(new Tuple <string, string>(controllerName, actionName)); }
protected override string GetPath(RenderingItem renderingItem, string filePath) { Debug.ArgumentNotNull(renderingItem, nameof(renderingItem)); Debug.ArgumentNotNull(filePath, nameof(filePath)); return(Path.ChangeExtension(filePath, ".css")); }
protected override string GetPath(RenderingItem renderingItem, string filePath) { Debug.ArgumentNotNull(renderingItem, nameof(renderingItem)); Debug.ArgumentNotNull(filePath, nameof(filePath)); return(filePath); }
public void InjectPrefab(RenderingItem prefabProxy, DeviceDefinition deviceLayout, string placeholderPath, int index, Item pageItem) { var getItemArgs = new PrefabsGetItemArgs { DeviceLayout = deviceLayout, DestinationPlaceholderPath = placeholderPath, PrefabProxy = prefabProxy, PageItem = pageItem }; CorePipeline.Run("prefabsGetItem", getItemArgs); if (!getItemArgs.Handled || getItemArgs.Result == null) { throw new System.Exception($"Prefab not found"); } var getRenderingsArgs = new PrefabGetRenderingsArgs { Prefab = getItemArgs.Result, DeviceLayout = deviceLayout, DestinationPlaceholderPath = placeholderPath, PrefabProxy = prefabProxy, PageItem = pageItem, Index = index }; CorePipeline.Run("prefabGetRenderings", getRenderingsArgs); if (!getRenderingsArgs.Handled) { throw new System.Exception($"Prefab had no renderings to add"); } getRenderingsArgs.Reuse(); CorePipeline.Run("prefabApplyRenderings", getRenderingsArgs); }
private IEnumerable <object> GetProperties(RenderingItem renderingItem) { var properties = TypeDescriptor.GetProperties(renderingItem); yield return("Rendering"); foreach (PropertyDescriptor property in properties) { if (property.Attributes.OfType <BrowsableAttribute>().Any(a => !a.Browsable)) { continue; } var columnName = property.Name; switch (columnName) { case "Id": columnName = "ID"; break; case "DataSource": columnName = "Data Source"; break; case "PlaceholderKey": columnName = "Placeholder"; break; } yield return(columnName); } }
private void OnItemClicked(DictionaryItem item) { RenderingItem renderingItem = new RenderingItem(item, false); _parametersManager.Set(Parameters.RenderingItem, renderingItem); ShowViewModel <ArticleViewModel>(); }
private Renderer GetRenderer(Rendering rendering, GetRendererArgs args) { RenderingItem renderingItem = rendering.RenderingItem; if (renderingItem != null && renderingItem.InnerItem.TemplateID == TemplateIds.ControllerRendering) { string controller = renderingItem.InnerItem[Templates.CDNControllerRendering.Fields.CDNDefaultController]; string action = renderingItem.InnerItem[Templates.CDNControllerRendering.Fields.CDNDefaultControllerAction]; if (controller.IsWhiteSpaceOrNull() || action.IsWhiteSpaceOrNull()) { return(new ControllerRenderer { ControllerName = "CDN", ActionName = "DefaultLoader" }); } return(new ControllerRenderer { ControllerName = controller, ActionName = action }); } return(null); }
private Renderer GetRenderer(Rendering rendering, GetRendererArgs args) { RenderingItem renderingItem = rendering.RenderingItem; if (renderingItem != null && renderingItem.InnerItem.TemplateID == TemplateIds.ViewRendering) { string viewPath = renderingItem.InnerItem[Templates.CDNViewRendering.Fields.CDNDefaultPath]; if (viewPath.IsWhiteSpaceOrNull()) { return(new ViewRenderer { ViewPath = "/Views/CDN/DefaultLoader.cshtml", Rendering = rendering }); } return(new ViewRenderer { ViewPath = viewPath, Rendering = rendering }); } return(null); }
internal RenderingItemBorderTablix(int rowZIndex, int columnZIndex, int rowIndex, int columnIndex, RenderingItem item) { RowZIndex = rowZIndex; ColumnZIndex = columnZIndex; RowIndex = rowIndex; ColumnIndex = columnIndex; Item = item; }
public void GetDataBindingValues(RenderingItem renderingItem, DynamicProperty dynamicProperty, List <string> values) { Assert.ArgumentNotNull(renderingItem, nameof(renderingItem)); Assert.ArgumentNotNull(dynamicProperty, nameof(dynamicProperty)); Assert.ArgumentNotNull(values, nameof(values)); this.GetRenderingContainerDataBindingValues(renderingItem, dynamicProperty, values); }
public PropertyDesignerControl([NotNull] RenderingItem rendering) { Assert.ArgumentNotNull(rendering, nameof(rendering)); InitializeComponent(); Rendering = rendering; }
public EditorBuilder([NotNull] Grid grid, [NotNull] RenderingItem renderingItem) { Assert.ArgumentNotNull(grid, nameof(grid)); Assert.ArgumentNotNull(renderingItem, nameof(renderingItem)); Grid = grid; RenderingItem = renderingItem; }
public string GetId(RenderingItem renderingItem) { if (renderingItem == null) { return(null); } return($"{renderingItem.ID.Guid:N}"); }
private static AreaRouteData GetAreaRouteDataFromRenderingItem(RenderingItem renderingItem) { var fields = renderingItem.InnerItem.Fields; var action = fields[Constants.Fields.Controller.Action].GetValue(true); var controller = fields[Constants.Fields.Controller.Name].GetValue(true); var area = fields[Constants.Fields.Controller.Area].GetValue(true); var useChildActionBehavior = new CheckboxField(fields[Constants.Fields.Controller.UseChildActionBehavior]).Checked; return new AreaRouteData(controller, action, area, useChildActionBehavior); }
private void InsertRenderings([CanBeNull] LayoutDesignerItem target, ControlDragAdornerPosition position, [NotNull] IEnumerable <IItem> items) { Debug.ArgumentNotNull(items, nameof(items)); int index; if (target != null) { index = this.items.IndexOf(target); if (position == ControlDragAdornerPosition.Bottom) { index++; } } else { index = this.items.Count; } string placeholderKey = null; var renderingTarget = target as RenderingItem; if (renderingTarget != null) { placeholderKey = renderingTarget.PlaceholderKey.Key; } var modified = false; LayoutDesignerItem selectedRendering = null; foreach (var item in items) { var renderingItem = new RenderingItem(this, item); var layoutItem = AddRendering(renderingItem, index, index); var rendering = layoutItem as RenderingItem; if (rendering != null && string.IsNullOrEmpty(rendering.PlaceholderKey.Key) && !string.IsNullOrEmpty(placeholderKey)) { rendering.PlaceholderKey = new PlaceHolderKey(placeholderKey); } if (selectedRendering == null) { selectedRendering = layoutItem; } modified = true; } List.SelectedItem = selectedRendering; Keyboard.Focus(List); if (modified) { Modified = true; } }
public DataSourceDesignerControl([NotNull] RenderingItem rendering) { Assert.ArgumentNotNull(rendering, nameof(rendering)); InitializeComponent(); DataContext = rendering; Rendering = rendering; }
private static AreaRouteData GetAreaRouteDataFromRenderingItem(RenderingItem renderingItem) { var fields = renderingItem.InnerItem.Fields; var action = fields[Constants.Fields.Controller.Action].GetValue(true); var controller = fields[Constants.Fields.Controller.Name].GetValue(true); var area = fields[Constants.Fields.Controller.Area].GetValue(true); return(new AreaRouteData(controller, action, area)); }
private static AreaRouteData GetAreaRouteDataFromRenderingItem(RenderingItem renderingItem) { var fields = renderingItem.InnerItem.Fields; var action = fields[Constants.Fields.Controller.Action].GetValue(true); var controller = fields[Constants.Fields.Controller.Name].GetValue(true); var area = fields[Constants.Fields.Controller.Area].GetValue(true); var useChildActionBehavior = new CheckboxField(fields[Constants.Fields.Controller.UseChildActionBehavior]).Checked; return(new AreaRouteData(controller, action, area, useChildActionBehavior)); }
public ParameterDesignerControl([NotNull] PageModel pageModel, [NotNull] RenderingItem rendering) { Assert.ArgumentNotNull(pageModel, nameof(pageModel)); Assert.ArgumentNotNull(rendering, nameof(rendering)); InitializeComponent(); PageModel = pageModel; Rendering = rendering; }
/// <summary> /// Gets the standard values item. /// </summary> /// <param name="renderingDefinition"> /// The rendering definition. /// </param> /// <returns> /// The standard values item. /// </returns> private Item GetStandardValuesItem(RenderingDefinition renderingDefinition) { Assert.ArgumentNotNull(renderingDefinition, "renderingDefinition"); Item renderingItem = GetRenderingItem(renderingDefinition); if (renderingItem == null) { return(null); } return(RenderingItem.GetStandardValuesItemFromParametersTemplate(renderingItem)); }
private void RenderPopup(DictionaryItem item) { _previousItem = _renderingItem; _renderingItem = new RenderingItem(item, false); Render(true); FavoriteCommand.IsExecutable = false; UnfavoriteCommand.IsExecutable = false; MorphoTableCommand.IsExecutable = false; PlaySoundCommand.IsExecutable = false; }
public BindingAnchor([NotNull] PageModel pageModel, [NotNull] RenderingItem rendering, [NotNull] DynamicProperty dynamicProperty) { Assert.ArgumentNotNull(pageModel, nameof(pageModel)); Assert.ArgumentNotNull(rendering, nameof(rendering)); Assert.ArgumentNotNull(dynamicProperty, nameof(dynamicProperty)); InitializeComponent(); PageModel = pageModel; Rendering = rendering; DynamicProperty = dynamicProperty; }
public RenderingTreeViewItem AddRendering([NotNull] PlaceHolderTreeViewItem placeHolderTreeViewItem, [NotNull] IItem item, int treeViewIndex, int renderingIndex) { Assert.ArgumentNotNull(placeHolderTreeViewItem, nameof(placeHolderTreeViewItem)); Assert.ArgumentNotNull(item, nameof(item)); var rendering = new RenderingItem(Device, item) { PlaceholderKey = new PlaceHolderKey(placeHolderTreeViewItem.PlaceHolderName) }; return(AddRendering(placeHolderTreeViewItem, rendering, treeViewIndex, renderingIndex)); }
public override void Execute(CommandContext context) { string formValue = WebUtil.GetFormValue("scLayout"); string xml = WebEditUtil.ConvertJSONLayoutToXML(formValue); string id = ShortID.Decode(WebUtil.GetFormValue("scDeviceID")); LayoutDefinition layoutDefinition = LayoutDefinition.Parse(xml); if (layoutDefinition == null) { ReturnLayout(); return; } DeviceDefinition device = layoutDefinition.GetDevice(id); if (device == null) { ReturnLayout(); return; } string uniqueId = Guid.Parse(context.Parameters["renderingUid"]).ToString("B").ToUpperInvariant(); RenderingDefinition renderingByUniqueId = device.GetRenderingByUniqueId(uniqueId); if (renderingByUniqueId == null) { ReturnLayout(); return; } if (string.IsNullOrEmpty(renderingByUniqueId.Parameters)) { if (!string.IsNullOrEmpty(renderingByUniqueId.ItemID)) { RenderingItem renderingItem = Client.ContentDatabase.GetItem(renderingByUniqueId.ItemID); renderingByUniqueId.Parameters = ((renderingItem != null) ? renderingItem.Parameters : string.Empty); } else { renderingByUniqueId.Parameters = string.Empty; } } NameValueCollection nameValueCollection = WebUtil.ParseUrlParameters(renderingByUniqueId.Parameters); string input = nameValueCollection["FieldNames"]; string text = context.Parameters["variant"]; if (Guid.TryParse(input, out Guid result) && result == Guid.Parse(text)) { ReturnLayout(); return; } nameValueCollection["FieldNames"] = text; renderingByUniqueId.Parameters = new UrlString(nameValueCollection.EscapeDataValues()).GetUrl(); formValue = WebEditUtil.ConvertXMLLayoutToJSON(layoutDefinition.ToXml()); ReturnLayout(formValue); }
public QueryDataSourceDesignerControl([NotNull] RenderingItem rendering) { Assert.ArgumentNotNull(rendering, nameof(rendering)); InitializeComponent(); DataContext = rendering; Rendering = rendering; Rendering.PropertyChanged += SetProperty; QueryBuilder.TextChanged += HandleTextChanged; }
protected string RenderControllerRendering(Database contextDatabase, ID dataSourceItemId) { var ri = new RenderingItem(contextDatabase.GetItem(ID.Parse(Constants.FormMvcRenderingId))); var rendering = new Rendering { RenderingType = "Controller", UniqueId = Guid.NewGuid(), DataSource = dataSourceItemId.ToString(), Placeholder = "forms", RenderingItem = ri }; var stringBuilder = new StringBuilder(); var renderingArgs = new RenderRenderingArgs(rendering, new StringWriter(stringBuilder)); CorePipeline.Run("mvc.renderRendering", renderingArgs); return(stringBuilder.ToString()); }
public void LoadDevice([NotNull] XElement device) { Assert.ArgumentNotNull(device, nameof(device)); items.Clear(); DeviceId = device.GetAttributeValue("id"); var layout = device.GetAttributeValue("l"); if (!string.IsNullOrEmpty(layout)) { LayoutUri = new ItemUri(DatabaseUri, new ItemId(new Guid(layout))); } else { LayoutUri = ItemUri.Empty; } LayoutName = device.GetAttributeValue("ln"); LayoutPath = device.GetAttributeValue("lp"); LayoutSelector.Text = device.GetAttributeValue("lp"); foreach (var element in device.Elements(@"r")) { var renderingItem = new RenderingItem(this, DatabaseUri, element); renderingItem.Modified += SetModified; items.Add(renderingItem); } foreach (var element in device.Elements(@"p")) { var placeholderItem = new PlaceholderItem(DatabaseUri, element); placeholderItem.Modified += SetModified; items.Add(placeholderItem); } if (items.Count > 0 || !string.IsNullOrEmpty(LayoutSelector.Text)) { ListContextMenu.Visibility = Visibility.Visible; NoItems.Visibility = Visibility.Collapsed; List.SelectedIndex = 0; } else { NoItems.Visibility = Visibility.Visible; ListContextMenu.Visibility = Visibility.Collapsed; } }
public void AddRendering(RenderingItem rendering) { Assert.ArgumentNotNull(rendering, nameof(rendering)); var treeViewIndex = -1; var renderingIndex = -1; var selectedItems = TreeView.SelectedItems; if (selectedItems.Count() != 1) { AppHost.MessageBox("Select a Placeholder first.", "Information", MessageBoxButton.OK, MessageBoxImage.Information); return; } var placeHolderTreeViewItem = selectedItems.FirstOrDefault() as PlaceHolderTreeViewItem; if (placeHolderTreeViewItem == null) { var renderingTreeViewItem = selectedItems.FirstOrDefault() as RenderingTreeViewItem; if (renderingTreeViewItem != null) { placeHolderTreeViewItem = renderingTreeViewItem.GetAncestor <PlaceHolderTreeViewItem>(); if (placeHolderTreeViewItem != null) { treeViewIndex = placeHolderTreeViewItem.Items.IndexOf(renderingTreeViewItem); renderingIndex = placeHolderTreeViewItem.DeviceTreeViewItem.Device.Renderings.IndexOf(renderingTreeViewItem.Rendering); } } } if (placeHolderTreeViewItem == null) { AppHost.MessageBox("Select a Placeholder first.", "Information", MessageBoxButton.OK, MessageBoxImage.Information); return; } var deviceTreeViewItem = placeHolderTreeViewItem.GetAncestor <DeviceTreeViewItem>(); if (deviceTreeViewItem == null) { return; } rendering.PlaceholderKey = new PlaceHolderKey(placeHolderTreeViewItem.PlaceHolderName); var newRenderingTreeViewItem = deviceTreeViewItem.AddRendering(placeHolderTreeViewItem, rendering, treeViewIndex, renderingIndex); newRenderingTreeViewItem.BringIntoView(); newRenderingTreeViewItem.Focus(); Keyboard.Focus(newRenderingTreeViewItem); }
public virtual void Process(GetRenderingDatasourceArgs args) { Assert.IsNotNull(args, "args"); RenderingItem rendering = new RenderingItem(args.RenderingItem); UrlString urlString = new UrlString(rendering.Parameters); var contentFolder = urlString.Parameters[TEMPLATE_PARAMETER]; if (string.IsNullOrEmpty(contentFolder)) { return; } if (!ID.IsID(contentFolder)) { Log.Warn(string.Format("{0} for Rendering {1} contains improperly formatted ID: {2}", TEMPLATE_PARAMETER, args.RenderingItem.Name, contentFolder), this); return; } string text = args.RenderingItem["Datasource Location"]; if (!string.IsNullOrEmpty(text)) { if (text.StartsWith("./") && !string.IsNullOrEmpty(args.ContextItemPath)) { var itemPath = args.ContextItemPath + text.Remove(0, 1); var item = args.ContentDatabase.GetItem(itemPath); var contextItem = args.ContentDatabase.GetItem(args.ContextItemPath); if (item == null && contextItem != null) { string itemName = text.Remove(0, 2); //if we create an item in the current site context, the WebEditRibbonForm will see an ItemSaved event and think it needs to reload the page using (new SiteContextSwitcher(SiteContextFactory.GetSiteContext("system"))) { var datasourceLocationitem = contextItem.Add(itemName, new TemplateID(ID.Parse(contentFolder))); // Set the sort order for the datasource location to 0 so it sorts to the top. using (new EditContext(datasourceLocationitem)) { datasourceLocationitem.Fields["__Sortorder"].Value = "0"; } } } } } }