private WebControl getTableForFormItemTable() { var columnWidthSpecified = firstColumnWidth != null || secondColumnWidth != null; var table = EwfTable.Create( caption: heading, fields: new[] { new EwfTableField(size: columnWidthSpecified?firstColumnWidth: Unit.Percentage(1)), new EwfTableField(size: columnWidthSpecified ? secondColumnWidth : Unit.Percentage(2)) }); table.AddData( formItems, i => { var stack = ControlStack.Create(true); if (i.Validation != null) { stack.AddModificationErrorItem(i.Validation, new ListErrorDisplayStyle()); } stack.AddControls(i.Control); return(new EwfTableItem(i.Label, stack.ToCell(new TableCellSetup(textAlignment: i.TextAlignment)))); }); return(table); }
private IEnumerable <Control> getNonIdListRegionBlocks() { var addRs = new UpdateRegionSet(); var removeRs = new UpdateRegionSet(); yield return (new ControlLine( new PostBackButton( PostBack.CreateIntermediate( addRs.ToSingleElementArray(), DataUpdate, id: "nonIdAdd", firstModificationMethod: () => parametersModification.NonIdItemStates = parametersModification.NonIdItemStates.Concat(new[] { 0, 0 })), new ButtonActionControlStyle("Add Two Items"), usesSubmitBehavior: false), new PostBackButton( PostBack.CreateIntermediate( removeRs.ToSingleElementArray(), DataUpdate, id: "nonIdRemove", firstModificationMethod: () => parametersModification.NonIdItemStates = parametersModification.NonIdItemStates.Take(parametersModification.NonIdItemStates.Count() - 2)), new ButtonActionControlStyle("Remove Two Items"), usesSubmitBehavior: false))); var stack = ControlStack.Create(true, tailUpdateRegions: new[] { new TailUpdateRegion(addRs, 0), new TailUpdateRegion(removeRs, 2) }); for (var i = 0; i < info.NonIdItemStates.Count(); i += 1) { stack.AddItem(getNonIdItem(i)); } yield return(new Box("Control List With Non-ID Items", stack.ToSingleElementArray())); }
private IEnumerable <Control> getIdListRegionBlocks() { var rs = new UpdateRegionSet(); yield return (new ControlLine( new PostBackButton( PostBack.CreateIntermediate( rs.ToSingleElementArray(), DataUpdate, id: "idAdd", firstModificationMethod: () => parametersModification.ItemIds = (parametersModification.ItemIds.Any() ? parametersModification.ItemIds.Min() - 1 : 0).ToSingleElementArray().Concat(parametersModification.ItemIds)), new ButtonActionControlStyle("Add Item"), usesSubmitBehavior: false))); var stack = ControlStack.Create( true, itemInsertionUpdateRegions: new ItemInsertionUpdateRegion(rs, () => parametersModification.ItemIds.First().ToString().ToSingleElementArray()).ToSingleElementArray()); foreach (var i in info.ItemIds) { stack.AddItem(getIdItem(i)); } yield return(new Box("Control List With ID Items", stack.ToSingleElementArray())); }
private IEnumerable <Control> getStatusMessageDialog() { if (!EwfPage.Instance.StatusMessages.Any()) { yield break; } var list = ControlStack.Create(true); list.AddControls( EwfPage.Instance.StatusMessages.Select( i => new Label { CssClass = i.Item1 == StatusMessageType.Info ? CssElementCreator.StatusMessageDialogControlListInfoItemCssClass : CssElementCreator.StatusMessageDialogControlListWarningItemCssClass, Text = i.Item2 } as Control).ToArray()); if (EwfPage.Instance.StatusMessages.Any(i => i.Item1 == StatusMessageType.Warning)) { list.AddControls(new CustomButton(() => "fadeOutStatusMessageDialog( 0 )") { ActionControlStyle = new ButtonActionControlStyle("OK") }); } yield return(new Block(list) { CssClass = CssElementCreator.StatusMessageDialogBlockCssClass }); }
private ControlListItem getIdItem(int id) { var rs = new UpdateRegionSet(); var pb = PostBack.CreateIntermediate(rs.ToSingleElementArray(), DataUpdate, id: PostBack.GetCompositeId("id", id.ToString())); var itemStack = ControlStack.Create(true); itemStack.AddControls(new EwfTextBox("ID {0}".FormatWith(id))); itemStack.AddControls( new PostBackButton(pb, new ButtonActionControlStyle("Remove", buttonSize: ButtonActionControlStyle.ButtonSize.ShrinkWrap), usesSubmitBehavior: false)); pb.AddModificationMethod(() => parametersModification.ItemIds = parametersModification.ItemIds.Where(i => i != id).ToArray()); return(new ControlListItem(itemStack.ToSingleElementArray(), id.ToString(), removalUpdateRegionSet: rs)); }
private ControlListItem getNonIdItem(int i) { var rs = new UpdateRegionSet(); var pb = PostBack.CreateIntermediate(rs.ToSingleElementArray(), DataUpdate, id: PostBack.GetCompositeId("nonId", i.ToString())); var itemStack = ControlStack.Create(true); if (info.NonIdItemStates.ElementAt(i) == 1) { itemStack.AddControls(new EwfTextBox("Item {0}".FormatWith(i))); } else { itemStack.AddText("Item {0}".FormatWith(i)); } itemStack.AddControls( new PostBackButton(pb, new ButtonActionControlStyle("Toggle", buttonSize: ButtonActionControlStyle.ButtonSize.ShrinkWrap), usesSubmitBehavior: false)); pb.AddModificationMethod( () => parametersModification.NonIdItemStates = parametersModification.NonIdItemStates.Select((state, index) => index == i ? (state + 1) % 2 : state)); return(new ControlListItem(itemStack.ToSingleElementArray(), updateRegionSet: rs)); }