protected virtual void DisplayStates(IWorkflow workflow, XmlControl placeholder) { this._stateNames = null; foreach (WorkflowState state in workflow.GetStates()) { if (WorkflowFilterer.FilterVisibleCommands(workflow.GetCommands(state.StateID)).Length > 0) { string str2; DataUri[] items = this.GetItems(state, workflow); string str = ShortID.Encode(workflow.WorkflowID) + "_" + ShortID.Encode(state.StateID); Section section2 = new Section { ID = str + "_section" }; Section control = section2; control.Attributes["Width"] = "100%"; placeholder.AddControl(control); int length = items.Length; if (length <= 0) { str2 = Translate.Text("None"); } else if (length == 1) { str2 = string.Format("1 {0}", Translate.Text("item")); } else { str2 = string.Format("{0} {1}", length, Translate.Text("items")); } str2 = string.Format("<span style=\"font-weight:normal\"> - ({0})</span>", str2); control.Header = state.DisplayName + str2; control.Icon = state.Icon; if (Settings.ClientFeeds.Enabled) { FeedUrlOptions options2 = new FeedUrlOptions("/sitecore/shell/~/feed/workflowstate.aspx") { UseUrlAuthentication = true }; FeedUrlOptions options = options2; options.Parameters["wf"] = workflow.WorkflowID; options.Parameters["st"] = state.StateID; control.FeedLink = options.ToString(); } control.Collapsed = length <= 0; Border child = new Border(); control.Controls.Add(child); child.ID = str + "_content"; this.DisplayState(workflow, state, items, child, 0, this.PageSize); this.CreateNavigator(control, str + "_navigator", length); } } }
protected virtual void DisplayWorkflow(IWorkflow workflow) { Context.ClientPage.ServerProperties["WorkflowID"] = workflow.WorkflowID; XmlControl webControl = Resource.GetWebControl("Pane") as XmlControl; Error.AssertXmlControl(webControl, "Pane"); this.States.Controls.Add(webControl); Assert.IsNotNull(webControl, "pane"); webControl["PaneID"] = this.GetPaneID(workflow); webControl["Header"] = workflow.Appearance.DisplayName; webControl["Icon"] = workflow.Appearance.Icon; FeedUrlOptions options2 = new FeedUrlOptions("/sitecore/shell/~/feed/workflow.aspx") { UseUrlAuthentication = true }; FeedUrlOptions options = options2; options.Parameters["wf"] = workflow.WorkflowID; webControl["FeedLink"] = options.ToString(); this.DisplayStates(workflow, webControl); }