public static MvcHtmlString Hidden(this HtmlHelper htmlHelper, ReportParameter parameter) { if (htmlHelper != null && parameter != null) { return htmlHelper.Hidden(parameter.Id, parameter.CurrentValue); } return MvcHtmlString.Empty; }
private static MvcHtmlString LabeledDropDown(this HtmlHelper htmlHelper, ReportParameter parameter, bool disabled = false) { if (!IsVisibleDropDown(parameter)) return MvcHtmlString.Empty; return LabeledControl(htmlHelper, parameter, IsDateRangeDropDown(parameter) ? DateRangeDropDownForParameter(htmlHelper, parameter, disabled) : DropDownForParameter(htmlHelper, parameter, disabled)); }
public static MvcHtmlString LabeledParameterField(this HtmlHelper htmlHelper, ReportParameter parameter, bool disabled) { if (parameter == null) throw new ArgumentNullException("parameter"); ReportControlType reportControlType = GetReportControlType(parameter); switch(reportControlType) { case ReportControlType.Hidden: return Hidden(htmlHelper, parameter); case ReportControlType.CheckBox: return LabeledCheckBox(htmlHelper, parameter, disabled); case ReportControlType.DatePicker: return LabeledDatePicker(htmlHelper, parameter, disabled); case ReportControlType.ListBox: return LabeledListBox(htmlHelper, parameter, disabled); case ReportControlType.DropDown: return LabeledDropDown(htmlHelper, parameter, disabled); case ReportControlType.TextBox: return LabeledTextBox(htmlHelper, parameter, disabled); } throw new ArgumentOutOfRangeException("parameter"); }
private static MvcHtmlString CheckBoxForParameter(HtmlHelper htmlHelper, ReportParameter reportParameter, bool disabled) { bool value; if (!bool.TryParse(reportParameter.CurrentValue, out value)) value = false; Dictionary<string, object> htmlAttributes = GetHtmlAttributes(reportParameter.Dependents, null, disabled); return htmlHelper.CheckBox(reportParameter.Id, value, htmlAttributes); }
private static MvcHtmlString LabeledDatePicker(this HtmlHelper htmlHelper, ReportParameter parameter, bool disabled = false) { if (!IsVisibleDateTime(parameter)) return MvcHtmlString.Empty; return LabeledControl(htmlHelper, parameter, DatePickerForParameter(htmlHelper, parameter, disabled)); }
private static MvcHtmlString LabeledTextBox(this HtmlHelper htmlHelper, ReportParameter parameter, bool disabled = false) { return LabeledControl(htmlHelper, parameter, TextBoxForParameter(htmlHelper, parameter, disabled)); }
public static int GetReportParameterHeight(ReportParameter reportParameter) { ReportControlType reportControlType = GetReportControlType(reportParameter); return GetReportControlTypeHeight(reportControlType); }
private static bool IsVisibleDropDown(ReportParameter reportParameter) { if (reportParameter.Scheduling) { return !IsDateRangeDropDown(reportParameter); } return true; }
public static ReportControlType GetReportControlType(ReportParameter parameter) { if (parameter == null) throw new ArgumentNullException("parameter"); if (parameter.Hidden) { return ReportControlType.Hidden; } switch (parameter.ParameterType) { case ParameterType.Boolean: return ReportControlType.CheckBox; case ParameterType.DateTime: return ReportControlType.DatePicker; case ParameterType.Float: case ParameterType.Integer: case ParameterType.String: if (parameter.Options.Any() || parameter.ItemParameter.ValidValuesQueryBased) { if (parameter.MultiValue) { return ReportControlType.ListBox; } return ReportControlType.DropDown; } return ReportControlType.TextBox; default: return ReportControlType.Unsupported; } }
private static bool IsDateRangeDropDown(ReportParameter reportParameter) { return reportParameter.Options.Any(o => o.Value == ReportParameter.CustomDateRangeValue); }
private static bool IsVisibleDateTime(ReportParameter reportParameter) { if (reportParameter.Scheduling) { switch (reportParameter.Id.ToUpperInvariant()) { case "DATETIMEFROM": case "DATETIMETO": return false; } } return true; }
private static MvcHtmlString LabeledControl(this HtmlHelper htmlHelper, ReportParameter parameter, MvcHtmlString inputControl) { if (htmlHelper != null && parameter != null) { return MvcHtmlString.Create(string.Format(CultureInfo.InvariantCulture, "{1}{0}{2}", Environment.NewLine, htmlHelper.Label(parameter.Id, parameter.Label), inputControl)); } return MvcHtmlString.Empty; }
private static MvcHtmlString DatePickerForParameter(HtmlHelper htmlHelper, ReportParameter reportParameter, bool disabled) { Dictionary<string, object> htmlAttributes = GetHtmlAttributes(reportParameter.Dependents, null, disabled); htmlAttributes.Add("class", "datepicker"); return htmlHelper.TextBox(reportParameter.Id, reportParameter.CurrentValue, htmlAttributes); }
private static MvcHtmlString TextBoxForParameter(HtmlHelper htmlHelper, ReportParameter reportParameter, bool disabled) { Dictionary<string, object> htmlAttributes = GetHtmlAttributes(reportParameter.Dependents, reportParameter.Suggestions, disabled); return htmlHelper.TextBox(reportParameter.Id, reportParameter.CurrentValue, htmlAttributes); }
private static MvcHtmlString DateRangeDropDownForParameter(HtmlHelper htmlHelper, ReportParameter reportParameter, bool disabled) { Dictionary<string, object> htmlAttributes = GetHtmlAttributes(reportParameter.Dependents, null, disabled, "enableDependents"); htmlAttributes.Add("data-value", ReportParameter.CustomDateRangeValue); return htmlHelper.DropDownList(reportParameter.Id, reportParameter.Options, htmlAttributes); }
private static MvcHtmlString ListBoxForParameter(HtmlHelper htmlHelper, ReportParameter reportParameter, bool disabled) { Dictionary<string, object> htmlAttributes = GetHtmlAttributes(reportParameter.Dependents, null, disabled); return htmlHelper.ListBox(reportParameter.Id, reportParameter.Options, htmlAttributes); }