public ConsoleRepeaterField(ISBSFormField formField, ISBSFormView formView) : base(formField, formView) { if (!(formField is SBSRepeaterField sbsRepeaterField)) { return; } this.ThisRepeaterIndex = this.FormView.Form.FindFieldIndex(this.SBSFormField.Name); var endingField = this.FindEndingField(sbsRepeaterField.EndingFieldName); this.EndingField = endingField ?? throw new ApplicationException($"In the repeating group {this.SBSFormField.Name}, the ending field named {sbsRepeaterField.EndingFieldName} could not be found"); this.EndingIndex = this.FindEndingFieldIndex(sbsRepeaterField.EndingFieldName); // Copy the starting index and ending index to the underlying repeater field model sbsRepeaterField.RepeaterIndex = this.ThisRepeaterIndex; sbsRepeaterField.EndingIndex = this.EndingIndex; formView.FormFieldChanged += (field, value) => { if (field != this.EndingField) { return; } // Save the filled-out fields as name/value pairs. sbsRepeaterField.SavedObjects.Add(this.SaveFields()); // If the ending field's value is not equal to the loop-continue value, then end the repeater loop if (!field.Value.Equals(((SBSRepeaterField)this.SBSFormField).ContinueLoopValue)) { this.IsEnded = true; } }; }
public ConsoleFormController(string idForm) { this.Model = SBSFormModel.Instance; this.Form = this.Model.GetFormInstance(idForm); this.View = new ConsoleFormView(this.Form); this.View.Closed += () => { this.FormClosed(this.Form); }; this.View.FormFieldChanged += (field, value) => { }; }
public ConsoleButtonField(ISBSFormField formField, ISBSFormView formView) : base(formField, formView) { }
public ConsoleLabelField(ISBSFormField formField, ISBSFormView formView) : base(formField, formView) { }
public ConsoleUploadField(ISBSFormField formField, ISBSFormView formView) : base(formField, formView) { }
protected ConsoleNoInputOutputFieldBase(ISBSFormField formField, ISBSFormView formView) : base(formField, formView) { }
public ConsoleEditField(ISBSFormField formField, ISBSFormView formView) : base(formField, formView) { }
public ConsoleListboxField(ISBSFormField formField, ISBSFormView formView) : base(formField, formView) { }
public ConsolePasswordField(ISBSFormField formField, ISBSFormView formView) : base(formField, formView) { }
protected ConsoleFieldViewBase(ISBSFormField formField, ISBSFormView formView) { this.SBSFormField = formField; this.FormView = formView; this.Form = formView.Form; }
public ConsoleSectionField(ISBSFormField formField, ISBSFormView formView) : base(formField, formView) { this.IsPageBreak = formField.PropExists("pagebreak"); }
public ConsoleRadiobuttonField(ISBSFormField formField, ISBSFormView formView, List <IConsoleFieldView> fieldViews) : base(formField, formView) { this.FieldViews = fieldViews; }