Пример #1
0
    /// <summary>
    /// Binds the grid columns.
    /// </summary>
    /// <param name="sender">Sender</param>
    /// <param name="sourceName">Source name</param>
    /// <param name="parameter">Parameter</param>
    private object UniGridRelationship_OnExternalDataBound(object sender, string sourceName, object parameter)
    {
        switch (sourceName.ToLowerInvariant())
        {
        case "lefnodename":
        case "rightnodename":
            string tooltip    = null;
            string customName = null;
            int    NodeID     = ValidationHelper.GetInteger(parameter, 0);
            var    NodeObj    = new DocumentQuery().WhereEquals("NodeID", NodeID).Columns("NodeID, NodeName, NodeLevel, ClassName").FirstOrDefault();
            // Not root and is in the allowed page types
            if (NodeObj.NodeLevel != 0 && (!string.IsNullOrWhiteSpace(ToolTipFormat) || !string.IsNullOrWhiteSpace(DisplayNameFormat)) && AllowedPageTypes.ToLower().Split(";,|".ToCharArray()).Contains(NodeObj.NodeClassName.ToLower()))
            {
                ValidationHelper.GetInteger(parameter, 0);
                MacroResolver NodeResolver = GetNodeMacroResolver(NodeObj.NodeID, NodeObj.ClassName);
                if (!string.IsNullOrWhiteSpace(ToolTipFormat))
                {
                    tooltip = NodeResolver.ResolveMacros(ToolTipFormat);
                }
                if (!string.IsNullOrWhiteSpace(DisplayNameFormat))
                {
                    customName = NodeResolver.ResolveMacros(DisplayNameFormat);
                }
                return(string.Format("<div title=\"{0}\">{1}</div>", HTMLHelper.EncodeForHtmlAttribute(tooltip), (!string.IsNullOrWhiteSpace(customName) ? customName : NodeObj.NodeName)));
            }
            else
            {
                var tr = new ObjectTransformation(PredefinedObjectType.NODE, NodeID);
                tr.EncodeOutput   = false;
                tr.Transformation = "{%NodeName|(default)" + GetString("general.root") + "|(encode)%}";
                return(tr);
            }

        case "delete":
            var btn = ((CMSGridActionButton)sender);
            btn.PreRender += imgDelete_PreRender;
            break;
        }

        return(parameter);
    }
Пример #2
0
    private TreeNode CreateTreeNode(CMS.DocumentEngine.TreeNode Node)
    {
        string tooltip    = null;
        string customName = null;

        if ((!string.IsNullOrWhiteSpace(ToolTipFormat) || !string.IsNullOrWhiteSpace(DisplayNameFormat)) && AllowedPageTypes.ToLower().Split(";,|".ToCharArray()).Contains(Node.NodeClassName.ToLower()))
        {
            MacroResolver NodeResolver = GetNodeMacroResolver(Node);
            if (!string.IsNullOrWhiteSpace(ToolTipFormat))
            {
                tooltip = NodeResolver.ResolveMacros(ToolTipFormat);
            }
            if (!string.IsNullOrWhiteSpace(DisplayNameFormat))
            {
                customName = NodeResolver.ResolveMacros(DisplayNameFormat);
            }
        }

        RelatedPage_Tree_CustomTreeNode newNode = new RelatedPage_Tree_CustomTreeNode((!string.IsNullOrWhiteSpace(customName) ? customName : Node.NodeName), Node.NodeID.ToString(), tooltip);

        if (AlreadySelectedNodes.Contains(Node.NodeID) || (FilterSelectableNodes && !SelectableSelectedNodes.Contains(Node.NodeID)))
        {
            newNode.SelectAction       = TreeNodeSelectAction.None;
            newNode.ShowCheckBox       = false;
            newNode.Text               = newNode.Text;
            newNode.CssClass           = "AlreadySelected";
            newNode.PossiblySelectable = AlreadySelectedNodes.Contains(Node.NodeID);
        }
        else
        {
            if ((AllowAllTypes || ClassNames.Contains(Node.ClassName)))
            {
                newNode.PossiblySelectable = true;
                newNode.CssClass           = "Selectable";
                if (SelectionMode == "Checkbox")
                {
                    newNode.ShowCheckBox = true;
                    newNode.SelectAction = TreeNodeSelectAction.None;
                }
                else
                {
                    newNode.SelectAction = TreeNodeSelectAction.Select;
                }
            }
            else
            {
                newNode.SelectAction = TreeNodeSelectAction.None;
                newNode.CssClass     = "NotSelectable";
            }
        }
        return(newNode);
    }