Ejemplo n.º 1
0
        /// <summary>
        /// Adds the cms:layout elements Form Definition to the UI toolbar.
        /// </summary>
        /// <param name="customToolbarMarkupProvider">Markup provider that can deliver a valid Form Definition markup document</param>
        protected void SetCustomToolbarDefinition(IFormMarkupProvider customToolbarMarkupProvider)
        {
            ExternalDataExchangeService   externalDataExchangeService  = WorkflowFacade.WorkflowRuntime.GetService <ExternalDataExchangeService>();
            IFormsWorkflowActivityService formsWorkflowActivityService = externalDataExchangeService.GetService(typeof(IFormsWorkflowActivityService)) as IFormsWorkflowActivityService;

            formsWorkflowActivityService.DeliverCustomToolbarDefinition(WorkflowEnvironment.WorkflowInstanceId, customToolbarMarkupProvider);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Adds the cms:layout elements Form Definition to the UI toolbar.
        /// </summary>
        /// <param name="customToolbarMarkupProvider">Markup provider that can deliver a valid Form Definition markup document</param>
        protected void SetCustomToolbarDefinition(IFormMarkupProvider customToolbarMarkupProvider)
        {
            var externalDataExchangeService = WorkflowFacade.WorkflowRuntime.GetService <ExternalDataExchangeService>();
            var fwas = externalDataExchangeService.GetService <IFormsWorkflowActivityService>();

            fwas.DeliverCustomToolbarDefinition(WorkflowEnvironment.WorkflowInstanceId, customToolbarMarkupProvider);
        }
Ejemplo n.º 3
0
 public FormFlowUiDefinition(IFormMarkupProvider markupProvider, IFlowUiContainerType containerType, string containerLabel, IBindingsProvider bindingsProvider, Dictionary<string, List<ClientValidationRule>> bindingsValidationRules)
 {
     this.MarkupProvider = markupProvider;
     this.UiContainerType = containerType;
     this.ContainerLabel = containerLabel;
     this.BindingsProvider = bindingsProvider;
     this.BindingsValidationRules = bindingsValidationRules;
 }
Ejemplo n.º 4
0
        public void DeliverCustomToolbarDefinition(Guid instanceId, IFormMarkupProvider customToolbarMarkupProvider)
        {
            Verify.ArgumentNotNull(customToolbarMarkupProvider, nameof(customToolbarMarkupProvider));

            var doc = XDocument.Load(customToolbarMarkupProvider.GetReader());

            AddCustomToolbarItem(instanceId, "default", doc, ActionGroupPriority.TargetedAppendMedium);
        }
 public FormFlowUiDefinition(IFormMarkupProvider markupProvider, IFlowUiContainerType containerType, string containerLabel, IBindingsProvider bindingsProvider, Dictionary <string, List <ClientValidationRule> > bindingsValidationRules)
 {
     this.MarkupProvider          = markupProvider;
     this.UiContainerType         = containerType;
     this.ContainerLabel          = containerLabel;
     this.BindingsProvider        = bindingsProvider;
     this.BindingsValidationRules = bindingsValidationRules;
 }
Ejemplo n.º 6
0
        public void DeliverCustomToolbarDefinition(Guid instanceId, IFormMarkupProvider customToolbarMarkupProvider)
        {
            FormData formData;

            if (WorkflowFacade.TryGetFormData(instanceId, out formData) == false)
            {
                formData = new FormData();
                WorkflowFacade.AddFormData(instanceId, formData);
            }

            formData.CustomToolbarMarkupProvider = customToolbarMarkupProvider;
        }
        public void DeliverFormData(Guid instanceId, string containerLabel, IFlowUiContainerType containerType, IFormMarkupProvider formMarkupProvider, Dictionary<string, object> bindings)
        {
            FormData formData;

            if (WorkflowFacade.TryGetFormData(instanceId, out formData) == false)
            {
                formData = new FormData();
                WorkflowFacade.AddFormData(instanceId, formData);
            }

            formData.ContainerLabel = containerLabel;
            formData.ContainerType = containerType;
            formData.FormDefinition = null;
            formData.FormMarkupProvider = formMarkupProvider;
            formData.Bindings = bindings;
        }
        public void DeliverCustomToolbarDefinition(Guid instanceId, IFormMarkupProvider customToolbarMarkupProvider)
        {
            FormData formData;

            if (WorkflowFacade.TryGetFormData(instanceId, out formData) == false)
            {
                formData = new FormData();
                WorkflowFacade.AddFormData(instanceId, formData);
            }

            formData.CustomToolbarMarkupProvider = customToolbarMarkupProvider;
        }
Ejemplo n.º 9
0
        public void DeliverFormData(Guid instanceId, string containerLabel, IFlowUiContainerType containerType, IFormMarkupProvider formMarkupProvider, Dictionary <string, object> bindings, Dictionary <string, List <ClientValidationRule> > bindingsValidationRules)
        {
            FormData formData;

            if (WorkflowFacade.TryGetFormData(instanceId, out formData) == false)
            {
                formData = new FormData();
                WorkflowFacade.AddFormData(instanceId, formData);
            }

            formData.ContainerLabel          = containerLabel;
            formData.ContainerType           = containerType;
            formData.FormDefinition          = null;
            formData.FormMarkupProvider      = formMarkupProvider;
            formData.Bindings                = bindings;
            formData.BindingsValidationRules = bindingsValidationRules;
        }
Ejemplo n.º 10
0
 public void SetCustomToolbarMarkupProvider(IFormMarkupProvider markupProvider)
 {
     this.CustomToolbarItemsMarkupProvider = markupProvider;
 }
        public static IUiControl Render(
            string consoleId,
            string elementProviderName,
            FlowToken flowToken,
            FormFlowUiDefinition formFlowUiCommand,
            IFormChannelIdentifier channel,
            bool debugMode,
            FlowControllerServicesContainer servicesContainer)
        {
            FlowControllerServicesContainer formServicesContainer = new FlowControllerServicesContainer(servicesContainer);

            formServicesContainer.AddService(new FormFlowRenderingService());
            formServicesContainer.AddService(new FormFlowWebRenderingService());

            IFormMarkupProvider         formMarkupProvider = formFlowUiCommand.MarkupProvider;
            IFormMarkupProvider         customToolbarItemsMarkupProvider = formFlowUiCommand.CustomToolbarItemsMarkupProvider;
            Dictionary <string, object> innerFormBindings = formFlowUiCommand.BindingsProvider.GetBindings();
            Dictionary <IFormEventIdentifier, FormFlowEventHandler> eventHandlers           = formFlowUiCommand.EventHandlers;
            Dictionary <string, List <ClientValidationRule> >       bindingsValidationRules = formFlowUiCommand.BindingsValidationRules;

            FormTreeCompiler formCompiler       = new FormTreeCompiler();
            IUiContainer     renderingContainer = GetRenderingContainer(channel, formFlowUiCommand.UiContainerType);

            // Setting state related objects so the delegate below can access them "fresh"
            CurrentFormTreeCompiler  = formCompiler;
            CurrentInnerFormBindings = innerFormBindings;
            CurrentControlContainer  = (IWebUiContainer)renderingContainer;


            Dictionary <string, object> containerEventHandlerStubs = new Dictionary <string, object>();

            foreach (IFormEventIdentifier eventIdentifier in eventHandlers.Keys)
            {
                IFormEventIdentifier localScopeEventIdentifier = eventIdentifier;  // See: Local variable usage with anonymous methods within loop control structures

                EventHandler handlerStub = delegate(object sender, EventArgs e)
                {
                    try
                    {
                        BaseEventHandler(consoleId, elementProviderName, flowToken, formFlowUiCommand, servicesContainer, eventHandlers, localScopeEventIdentifier, formServicesContainer);
                    }
                    catch (Exception ex)
                    {
                        formServicesContainer.GetService <IManagementConsoleMessageService>().ShowLogEntry(typeof(FormFlowUiDefinitionRenderer), ex);
                        throw;
                    }
                };

                containerEventHandlerStubs.Add(eventIdentifier.BindingName, handlerStub);

                if (innerFormBindings.ContainsKey(eventIdentifier.BindingName))
                {
                    innerFormBindings.Remove(eventIdentifier.BindingName);
                }

                innerFormBindings.Add(eventIdentifier.BindingName, handlerStub);
            }

            XDocument document;

            using (XmlReader formMarkupReader = formMarkupProvider.GetReader())
            {
                document = XDocument.Load(formMarkupReader);
                formMarkupReader.Close();
            }

            formCompiler.Compile(document, channel, innerFormBindings, debugMode, "", bindingsValidationRules);

            IUiControl innerForm = formCompiler.UiControl;

            IUiControl customToolbarItems = null;

            if (customToolbarItemsMarkupProvider != null)
            {
                var toolbarCompiler = new FormTreeCompiler();
                CurrentCustomToolbarFormTreeCompiler = toolbarCompiler;

                using (XmlReader formMarkupReader = customToolbarItemsMarkupProvider.GetReader())
                {
                    toolbarCompiler.Compile(formMarkupReader, channel, innerFormBindings, debugMode, bindingsValidationRules);
                }
                customToolbarItems = toolbarCompiler.UiControl;
            }

            CurrentControlTreeRoot = (IWebUiControl)innerForm;

            string label = formCompiler.Label;

            if (label.IsNullOrEmpty())
            {
                label = formFlowUiCommand.ContainerLabel ?? "";
            }

            string         labelField    = GetFormLabelField(document);
            ResourceHandle containerIcon = formCompiler.Icon;

            return(renderingContainer.Render(formCompiler.UiControl, customToolbarItems, channel, containerEventHandlerStubs, label, labelField, formCompiler.Tooltip, containerIcon));
        }
Ejemplo n.º 12
0
 public FormFlowUiDefinition(IFormMarkupProvider markupProvider, IFlowUiContainerType containerType, string containerLabel, DelegatedBindingsProvider delegatedBindingsProvider)
     : this(markupProvider, containerType, containerLabel, new DelegateBasedBindingsProvider(delegatedBindingsProvider), null)
 { }
Ejemplo n.º 13
0
 public void SetCustomToolbarMarkupProvider(XmlReader markupReader)
 {
     this.CustomToolbarItemsMarkupProvider = new PreLoadedMarkupProvider(markupReader);
 }
 public FormFlowUiDefinition(IFormMarkupProvider markupProvider, IFlowUiContainerType containerType, string containerLabel, Dictionary <string, object> bindings)
     : this(markupProvider, containerType, containerLabel, new PreLoadedBindingsProvider(bindings), null)
 {
 }
Ejemplo n.º 15
0
 public FormFlowUiDefinition(IFormMarkupProvider markupProvider, IFlowUiContainerType containerType, string containerLabel, Dictionary<string, object> bindings, Dictionary<string, List<ClientValidationRule>> bindingsValidationRules)
     : this(markupProvider, containerType, containerLabel, new PreLoadedBindingsProvider(bindings), bindingsValidationRules)
 { }        
Ejemplo n.º 16
0
        /// <exclude />
        protected void DeliverFormData(string containerLabel, IFlowUiContainerType containerType, IFormMarkupProvider formMarkupProvider, Dictionary <string, object> bindings, Dictionary <string, List <ClientValidationRule> > bindingsValidationRules)
        {
            OnDeliverFormData(bindings, bindingsValidationRules);

            var externalDataExchangeService = WorkflowFacade.WorkflowRuntime.GetService <ExternalDataExchangeService>();

            var formsWorkflowActivityService = externalDataExchangeService.GetService(typeof(IFormsWorkflowActivityService)) as IFormsWorkflowActivityService;

            formsWorkflowActivityService.DeliverFormData(WorkflowEnvironment.WorkflowInstanceId, containerLabel, containerType, formMarkupProvider, bindings, bindingsValidationRules);
        }
 public void SetCustomToolbarMarkupProvider(IFormMarkupProvider markupProvider)
 {
     this.CustomToolbarItemsMarkupProvider = markupProvider;
 }
 public void SetCustomToolbarMarkupProvider(XmlReader markupReader)
 {
     this.CustomToolbarItemsMarkupProvider = new PreLoadedMarkupProvider(markupReader);
 }
 public FormFlowUiDefinition(IFormMarkupProvider markupProvider, IFlowUiContainerType containerType, string containerLabel, DelegatedBindingsProvider delegatedBindingsProvider)
     : this(markupProvider, containerType, containerLabel, new DelegateBasedBindingsProvider(delegatedBindingsProvider), null)
 {
 }
 public FormFlowUiDefinition(IFormMarkupProvider markupProvider, IFlowUiContainerType containerType, string containerLabel, Dictionary <string, object> bindings, Dictionary <string, List <ClientValidationRule> > bindingsValidationRules)
     : this(markupProvider, containerType, containerLabel, new PreLoadedBindingsProvider(bindings), bindingsValidationRules)
 {
 }
Ejemplo n.º 21
0
 public FormFlowUiDefinition(IFormMarkupProvider markupProvider, IFlowUiContainerType containerType, string containerLabel, Dictionary<string, object> bindings)
     : this(markupProvider, containerType, containerLabel, new PreLoadedBindingsProvider(bindings), null)
 { }
Ejemplo n.º 22
0
        public void DeliverFormData(Guid instanceId, string containerLabel, IFlowUiContainerType containerType, IFormMarkupProvider formMarkupProvider, Dictionary <string, object> bindings, Dictionary <string, List <ClientValidationRule> > bindingsValidationRules)
        {
            var formData = GetOrAddFormData(instanceId);

            formData.ContainerLabel          = containerLabel;
            formData.ContainerType           = containerType;
            formData.FormDefinition          = null;
            formData.FormMarkupProvider      = formMarkupProvider;
            formData.Bindings                = bindings;
            formData.BindingsValidationRules = bindingsValidationRules;
        }