protected override IEnumerable <ElementAction> OnGetFunctionActions(IFunctionTreeBuilderLeafInfo function)
        {
            string functionName = function.Namespace + "." + function.Name;

            IMetaFunction metaFunction = GetMetaFunction(functionName);

            bool isWidget = !(metaFunction is IFunction);

            if (!isWidget)
            {
                yield return(CreateFunctionTesterAction(functionName));
            }

            yield return(new ElementAction(new ActionHandle(new FunctionInfoActionToken(functionName, isWidget)))
            {
                VisualData = new ActionVisualizedData
                {
                    Label = StringResourceSystemFacade.GetString("Composite.Plugins.AllFunctionsElementProvider", "AllFunctionsElementProvider.ViewFunctionInformation"),
                    ToolTip = StringResourceSystemFacade.GetString("Composite.Plugins.AllFunctionsElementProvider", "AllFunctionsElementProvider.ViewFunctionInformationTooltip"),
                    Disabled = false,
                    Icon = CommonElementIcons.Search,
                    ActionLocation = new ActionLocation
                    {
                        ActionType = ActionType.Other,
                        ActionGroup = PrimaryActionGroup,
                        IsInFolder = false,
                        IsInToolbar = true
                    }
                }
            });
        }
Beispiel #2
0
        /// <exclude />
        protected override IEnumerable <ElementAction> OnGetFunctionActions(IFunctionTreeBuilderLeafInfo function)
        {
            var editWorkflow   = WorkflowFacade.GetWorkflowType("Composite.Plugins.Elements.ElementProviders.RazorFunctionProviderElementProvider.EditRazorFunctionWorkflow");
            var deleteWorkflow = WorkflowFacade.GetWorkflowType("Composite.Plugins.Elements.ElementProviders.RazorFunctionProviderElementProvider.DeleteRazorFunctionWorkflow");

            return(new []
            {
                new ElementAction(new ActionHandle(
                                      new WorkflowActionToken(
                                          editWorkflow, new [] { PermissionType.Edit }
                                          )))
                {
                    VisualData = new ActionVisualizedData {
                        Label = GetText("EditRazorFunction.Label"),
                        ToolTip = GetText("EditRazorFunction.ToolTip"),
                        Icon = EditFunctionIcon,
                        Disabled = false,
                        ActionLocation = new ActionLocation {
                            ActionType = ActionType.Edit,
                            IsInFolder = false,
                            IsInToolbar = true,
                            ActionGroup = PrimaryActionGroup
                        }
                    }
                },

                new ElementAction(new ActionHandle(
                                      new WorkflowActionToken(
                                          deleteWorkflow, new [] { PermissionType.Delete }
                                          )
                {
                    Payload = GetContext().ProviderName
                }))
                {
                    VisualData = new ActionVisualizedData {
                        Label = GetText("DeleteRazorFunction.Label"),
                        ToolTip = GetText("DeleteRazorFunction.ToolTip"),
                        Icon = DeleteFunctionIcon,
                        Disabled = false,
                        ActionLocation = new ActionLocation {
                            ActionType = ActionType.Delete,
                            IsInFolder = false,
                            IsInToolbar = true,
                            ActionGroup = PrimaryActionGroup
                        }
                    }
                }
            });
        }
        /// <exclude />
        protected override IEnumerable <ElementAction> OnGetFunctionActions(IFunctionTreeBuilderLeafInfo function)
        {
            return(new ElementAction[]
            {
                new ElementAction(new ActionHandle(
                                      new WorkflowActionToken(
                                          WorkflowFacade.GetWorkflowType("Composite.Plugins.Elements.ElementProviders.XsltBasedFunctionProviderElementProvider.EditXsltFunctionWorkflow"),
                                          new PermissionType[] { PermissionType.Edit }
                                          )))
                {
                    VisualData = new ActionVisualizedData {
                        Label = StringResourceSystemFacade.GetString("Composite.Plugins.XsltBasedFunction", "XsltBasedFunctionProviderElementProvider.Edit"),
                        ToolTip = StringResourceSystemFacade.GetString("Composite.Plugins.XsltBasedFunction", "XsltBasedFunctionProviderElementProvider.EditToolTip"),
                        Icon = XsltBasedFunctionProviderElementProvider.EditFunction,
                        Disabled = false,
                        ActionLocation = new ActionLocation {
                            ActionType = ActionType.Edit,
                            IsInFolder = false,
                            IsInToolbar = true,
                            ActionGroup = PrimaryActionGroup
                        }
                    }
                },

                new ElementAction(new ActionHandle(
                                      new WorkflowActionToken(
                                          WorkflowFacade.GetWorkflowType("Composite.Plugins.Elements.ElementProviders.XsltBasedFunctionProviderElementProvider.DeleteXsltFunctionWorkflow"),
                                          new PermissionType[] { PermissionType.Delete }
                                          )
                {
                    Payload = GetContext().ProviderName
                }))
                {
                    VisualData = new ActionVisualizedData {
                        Label = StringResourceSystemFacade.GetString("Composite.Plugins.XsltBasedFunction", "XsltBasedFunctionProviderElementProvider.Delete"),
                        ToolTip = StringResourceSystemFacade.GetString("Composite.Plugins.XsltBasedFunction", "XsltBasedFunctionProviderElementProvider.DeleteToolTip"),
                        Icon = XsltBasedFunctionProviderElementProvider.DeleteFunction,
                        Disabled = false,
                        ActionLocation = new ActionLocation {
                            ActionType = ActionType.Delete,
                            IsInFolder = false,
                            IsInToolbar = true,
                            ActionGroup = PrimaryActionGroup
                        }
                    }
                }
            });
        }
Beispiel #4
0
        /// <exclude />
        public Dictionary <EntityToken, IEnumerable <EntityToken> > GetParents(IEnumerable <EntityToken> entityTokens)
        {
            Dictionary <EntityToken, IEnumerable <EntityToken> > result = new Dictionary <EntityToken, IEnumerable <EntityToken> >();

            foreach (EntityToken entityToken in entityTokens)
            {
                IFunctionTreeBuilderLeafInfo functionTreeBuilderLeafInfo = OnIsEntityOwner(entityToken);
                if (functionTreeBuilderLeafInfo == null)
                {
                    continue;
                }

                BaseFunctionFolderElementEntityToken parentEntityToken = new BaseFunctionFolderElementEntityToken(CreateId(functionTreeBuilderLeafInfo.Namespace, _context.ProviderName));

                result.Add(entityToken, new EntityToken[] { parentEntityToken });
            }

            return(result);
        }
Beispiel #5
0
        private Element CreateFunctionElement(IFunctionTreeBuilderLeafInfo function)
        {
            IMetaFunction functionDetails;

            if (FunctionFacade.TryGetFunction(out functionDetails, string.Format("{0}.{1}", function.Namespace, function.Name), typeof(IFunction)) == false)
            {
                FunctionFacade.TryGetFunction(out functionDetails, string.Format("{0}.{1}", function.Namespace, function.Name), typeof(IWidgetFunction));
            }

            string functionTooltip = (functionDetails == null || string.IsNullOrEmpty(functionDetails.Description) ? function.Name : StringResourceSystemFacade.ParseString(functionDetails.Description));

            var  intitializationInfo           = functionDetails as IFunctionInitializationInfo;
            bool functionWerentLoadedCorrectly = intitializationInfo != null && !intitializationInfo.FunctionInitializedCorrectly;

            Element element = new Element(_context.CreateElementHandle(function.EntityToken))
            {
                VisualData = new ElementVisualizedData()
                {
                    Label       = function.Name,
                    ToolTip     = functionTooltip,
                    HasChildren = false,
                    Icon        = functionWerentLoadedCorrectly ? BaseFunctionProviderElementProvider.FunctionError : BaseFunctionProviderElementProvider.Function
                }
            };

            element.TreeLockBehavior = OnGetTreeLockBehavior();

            IEnumerable <ElementAction> actions = OnGetFunctionActions(function);

            if (actions != null)
            {
                foreach (ElementAction action in actions)
                {
                    element.AddAction(action);
                }
            }

            return(element);
        }
Beispiel #6
0
 /// <exclude />
 protected virtual IEnumerable <ElementAction> OnGetFunctionActions(IFunctionTreeBuilderLeafInfo function)
 {
     return(null);
 }
        private Element CreateFunctionElement(IFunctionTreeBuilderLeafInfo function)
        {
            IMetaFunction functionDetails;

            if (FunctionFacade.TryGetFunction(out functionDetails, string.Format("{0}.{1}", function.Namespace, function.Name), typeof(IFunction)) == false)
            {
                FunctionFacade.TryGetFunction(out functionDetails, string.Format("{0}.{1}", function.Namespace, function.Name), typeof(IWidgetFunction));
            }

            string functionTooltip = (functionDetails == null || string.IsNullOrEmpty(functionDetails.Description) ? function.Name : StringResourceSystemFacade.ParseString(functionDetails.Description));

            var intitializationInfo = functionDetails as IFunctionInitializationInfo;
            bool functionWerentLoadedCorrectly = intitializationInfo != null && !intitializationInfo.FunctionInitializedCorrectly;

            Element element = new Element(_context.CreateElementHandle(function.EntityToken))
            {
                VisualData = new ElementVisualizedData()
                {
                    Label = function.Name,
                    ToolTip = functionTooltip,
                    HasChildren = false,
                    Icon = functionWerentLoadedCorrectly ? BaseFunctionProviderElementProvider.FunctionError : BaseFunctionProviderElementProvider.Function
                }
            };

            element.TreeLockBehavior = OnGetTreeLockBehavior();

            IEnumerable<ElementAction> actions = OnGetFunctionActions(function);
            if (actions != null)
            {
                foreach (ElementAction action in actions)
                {
                    element.AddAction(action);
                }
            }

            return element;
        }
 /// <exclude />
 protected virtual IEnumerable<ElementAction> OnGetFunctionActions(IFunctionTreeBuilderLeafInfo function)
 {
     return null;
 }