/// <summary> /// Return the JavaScript that is used to initialize jqGrid with given options. /// </summary> /// <returns>The JavaScript that initializes jqGrid with give options</returns> /// <exception cref="System.InvalidOperationException"> /// <list type="bullet"> /// <item><description>TreeGrid and data grouping are both enabled.</description></item> /// <item><description>Rows numbers and data grouping are both enabled.</description></item> /// <item><description>Dynamic scrolling and data grouping are both enabled.</description></item> /// <item><description>TreeGrid and GridView are both enabled.</description></item> /// <item><description>SubGrid and GridView are both enabled.</description></item> /// <item><description>AfterInsertRow event and GridView are both enabled.</description></item> /// </list> /// </exception> public static IHtmlContent JqGridJavaScript(this IHtmlHelper htmlHelper, JqGridOptions options) { ValidateJqGridConstraints(options); IUrlHelperFactory urlHelperFactory = htmlHelper.ViewContext.HttpContext.RequestServices.GetRequiredService <IUrlHelperFactory>(); IJqGridJsonService jqGridJsonService = htmlHelper.ViewContext.HttpContext.RequestServices.GetRequiredService <IJqGridJsonService>(); options.ApplyModelMetadata(htmlHelper.MetadataProvider, urlHelperFactory.GetUrlHelper(htmlHelper.ViewContext)); StringBuilder javaScriptBuilder = new StringBuilder(); javaScriptBuilder.AppendFormat("$('#{0}')", options.Id) .AppendJqGridScript(options, jqGridJsonService, false); return(new HtmlString(javaScriptBuilder.ToString())); }
/// <inheritdoc /> public override Task ExecuteResultAsync(ActionContext context) { if (context == null) { throw new ArgumentNullException(nameof(context)); } IJqGridJsonService jqGridJsonService = context.HttpContext.RequestServices.GetRequiredService <IJqGridJsonService>(); IActionResultExecutor <JsonResult> jsonResultExecutor = context.HttpContext.RequestServices.GetRequiredService <IActionResultExecutor <JsonResult> >(); return(jsonResultExecutor.ExecuteAsync(context, new JsonResult(Value, jqGridJsonService.GetJqGridJsonResultSerializerSettings(SerializerSettings)) { ContentType = ContentType, StatusCode = StatusCode })); }
private JqGridRequest BindSearchingProperties(JqGridRequest model, ModelBindingContext bindingContext) { model.Searching = false; if (!String.IsNullOrWhiteSpace(JqGridRequest.ParametersNames.Searching)) { ValueProviderResult searchingValueResult = bindingContext.ValueProvider.GetValue(JqGridRequest.ParametersNames.Searching); if (searchingValueResult != ValueProviderResult.None) { model.Searching = ConvertToBoolean(searchingValueResult.FirstValue); } } model.SearchingFilter = null; model.SearchingFilters = null; if (model.Searching) { ValueProviderResult searchingFiltersValueResult = bindingContext.ValueProvider.GetValue(SEARCH_FILTERS_BINDING_KEY); if ((searchingFiltersValueResult != ValueProviderResult.None) && !String.IsNullOrWhiteSpace(searchingFiltersValueResult.FirstValue)) { IJqGridJsonService jqGridJsonService = bindingContext.HttpContext.RequestServices.GetRequiredService <IJqGridJsonService>(); model.SearchingFilters = jqGridJsonService.DeserializeJqGridSearchingFilters(searchingFiltersValueResult.FirstValue); } else { string searchingName = bindingContext.ValueProvider.GetValue(SEARCH_NAME_BINDING_KEY).FirstValue; string searchingValue = bindingContext.ValueProvider.GetValue(SEARCH_VALUE_BINDING_KEY).FirstValue; JqGridSearchOperators searchingOperator = JqGridSearchOperators.Eq; Enum.TryParse(bindingContext.ValueProvider.GetValue(SEARCH_OPERATOR_BINDING_KEY).FirstValue, true, out searchingOperator); if (!String.IsNullOrWhiteSpace(searchingName) && (!String.IsNullOrWhiteSpace(searchingValue) || ((searchingOperator & JqGridSearchOperators.NullOperators) != 0))) { model.SearchingFilter = new JqGridSearchingFilter() { SearchingName = searchingName, SearchingOperator = searchingOperator, SearchingValue = searchingValue }; } } } return(model); }
private static StringBuilder AppendColumnModelFormatter(this StringBuilder javaScriptBuilder, JqGridColumnModel columnModel, IJqGridJsonService jqGridJsonService) { if (!String.IsNullOrWhiteSpace(columnModel.Formatter)) { if (columnModel.Formatter == JqGridPredefinedFormatters.JQueryUIButton) { javaScriptBuilder.AppendColumnModelJQueryUIButtonFormatter(columnModel.FormatterOptions); } else { javaScriptBuilder.AppendJavaScriptObjectFunctionField(JqGridOptionsNames.ColumnModel.FORMATTER, columnModel.Formatter) .AppendColumnModelFormatterOptions(columnModel.Formatter, columnModel.FormatterOptions, jqGridJsonService) .AppendJavaScriptObjectFunctionField(JqGridOptionsNames.ColumnModel.UNFORMATTER, columnModel.UnFormatter); } } return(javaScriptBuilder); }
private static StringBuilder AppendColumnModelElementOptions(this StringBuilder javaScriptBuilder, JqGridColumnElementOptions elementOptions, bool isJQueryUIElement, IJqGridJsonService jqGridJsonService) { if ((elementOptions.DataEvents != null) && (elementOptions.DataEvents.Count > 0)) { javaScriptBuilder.AppendJavaScriptArrayFieldOpening(JqGridOptionsNames.ColumnModel.Element.DATA_EVENTS); foreach (JqGridColumnDataEvent dataEvent in elementOptions.DataEvents) { javaScriptBuilder.AppendJavaScriptObjectOpening() .AppendJavaScriptObjectStringField(JqGridOptionsNames.ColumnModel.Element.DataEvent.TYPE, dataEvent.Type) .AppendJavaScriptObjectObjectField(JqGridOptionsNames.ColumnModel.Element.DataEvent.DATA, dataEvent.Data, jqGridJsonService) .AppendJavaScriptObjectFunctionField(JqGridOptionsNames.ColumnModel.Element.DataEvent.FUNCTION, dataEvent.Function) .AppendJavaScriptObjectClosing(); } javaScriptBuilder.AppendJavaScriptArrayFieldClosing(); } if (!isJQueryUIElement) { javaScriptBuilder.AppendJavaScriptObjectFunctionField(JqGridOptionsNames.ColumnModel.Element.DATA_INIT, elementOptions.DataInit); if (!String.IsNullOrWhiteSpace(elementOptions.DataUrl)) { javaScriptBuilder.AppendJavaScriptObjectStringField(JqGridOptionsNames.ColumnModel.Element.DATA_URL, elementOptions.DataUrl) .AppendJavaScriptObjectFunctionField(JqGridOptionsNames.ColumnModel.Element.BUILD_SELECT, elementOptions.BuildSelect); } else if (!String.IsNullOrEmpty(elementOptions.Value)) { javaScriptBuilder.AppendJavaScriptObjectStringField(JqGridOptionsNames.ColumnModel.Element.VALUE, elementOptions.Value); } else if (elementOptions.ValueDictionary != null) { javaScriptBuilder.AppendJavaScriptObjectObjectField(JqGridOptionsNames.ColumnModel.Element.VALUE, elementOptions.ValueDictionary, jqGridJsonService); } } return(javaScriptBuilder.AppendJavaScriptObjectStringField(JqGridOptionsNames.ColumnModel.Element.DEFAULT_VALUE, elementOptions.DefaultValue)); }
private static StringBuilder AppendColumnModelSearchOptions(this StringBuilder javaScriptBuilder, JqGridColumnModel columnModel, JqGridOptions options, IJqGridJsonService jqGridJsonService, bool asSubgrid) { javaScriptBuilder.AppendJavaScriptObjectBooleanField(JqGridOptionsNames.ColumnModel.SEARCHABLE, columnModel.Searchable, JqGridOptionsDefaults.ColumnModel.Searchable); if (columnModel.Searchable) { bool isJQueryUIElement = (columnModel.SearchType == JqGridColumnSearchTypes.JQueryUIAutocomplete) || (columnModel.SearchType == JqGridColumnSearchTypes.JQueryUIDatepicker) || (columnModel.SearchType == JqGridColumnSearchTypes.JQueryUISpinner); bool isNativeElement = (columnModel.SearchType == JqGridColumnSearchTypes.Date) || (columnModel.SearchType == JqGridColumnSearchTypes.DateTimeLocal); if (!isJQueryUIElement && !isNativeElement) { javaScriptBuilder.AppendJavaScriptObjectEnumField(JqGridOptionsNames.ColumnModel.SEARCH_TYPE, columnModel.SearchType, JqGridOptionsDefaults.ColumnModel.SearchType); } if ((columnModel.SearchOptions != null) && (isJQueryUIElement || isNativeElement || !columnModel.SearchOptions.AreDefault())) { javaScriptBuilder.AppendJavaScriptObjectFieldOpening(JqGridOptionsNames.ColumnModel.SEARCH_OPTIONS) .AppendJavaScriptObjectObjectField(JqGridOptionsNames.ColumnModel.Searching.HTML_ATTRIBUTES, columnModel.SearchOptions.HtmlAttributes, jqGridJsonService) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.ColumnModel.Searching.CLEAR_SEARCH, columnModel.SearchOptions.ClearSearch, JqGridOptionsDefaults.ColumnModel.Searching.ClearSearch) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.ColumnModel.Searching.SEARCH_HIDDEN, columnModel.SearchOptions.SearchHidden, JqGridOptionsDefaults.ColumnModel.Searching.SearchHidden) .AppendSearchOperators(columnModel.SearchOptions.SearchOperators); switch (columnModel.SearchType) { case JqGridColumnSearchTypes.Date: javaScriptBuilder.AppendJavaScriptObjectFunctionField(JqGridOptionsNames.ColumnModel.Element.DATA_INIT, DATE_DATA_INIT); break; case JqGridColumnSearchTypes.DateTimeLocal: javaScriptBuilder.AppendJavaScriptObjectFunctionField(JqGridOptionsNames.ColumnModel.Element.DATA_INIT, DATE_TIME_LOCAL_DATA_INIT); break; case JqGridColumnSearchTypes.JQueryUIAutocomplete: javaScriptBuilder.AppendColumnModelJQueryUIAutocompleteDataInit(columnModel.SearchOptions); break; case JqGridColumnSearchTypes.JQueryUIDatepicker: javaScriptBuilder.AppendColumnModelJQueryUIDatepickerDataInit(columnModel.SearchOptions, options, asSubgrid); break; case JqGridColumnSearchTypes.JQueryUISpinner: javaScriptBuilder.AppendColumnModelJQueryUISpinnerDataInit(columnModel.SearchOptions); break; } javaScriptBuilder.AppendColumnModelElementOptions(columnModel.SearchOptions, isJQueryUIElement, jqGridJsonService) .AppendJavaScriptObjectFieldClosing(); } javaScriptBuilder.AppendColumnModelRules(JqGridOptionsNames.ColumnModel.SEARCH_RULES, columnModel.SearchRules); } return(javaScriptBuilder); }
private static StringBuilder AppendColumnModelEditOptions(this StringBuilder javaScriptBuilder, JqGridColumnModel columnModel, JqGridOptions options, IJqGridJsonService jqGridJsonService, bool asSubgrid) { javaScriptBuilder.AppendJavaScriptObjectBooleanField(JqGridOptionsNames.ColumnModel.EDITABLE, columnModel.Editable, JqGridOptionsDefaults.ColumnModel.Editable); if (columnModel.Editable) { bool isJQueryUIElement = (columnModel.EditType == JqGridColumnEditTypes.JQueryUIAutocomplete) || (columnModel.EditType == JqGridColumnEditTypes.JQueryUIDatepicker) || (columnModel.EditType == JqGridColumnEditTypes.JQueryUISpinner); bool isNativeElement = (columnModel.EditType == JqGridColumnEditTypes.Date) || (columnModel.EditType == JqGridColumnEditTypes.DateTimeLocal); if (!isJQueryUIElement && !isNativeElement) { javaScriptBuilder.AppendJavaScriptObjectEnumField(JqGridOptionsNames.ColumnModel.EDIT_TYPE, columnModel.EditType, JqGridOptionsDefaults.ColumnModel.EditType); } if ((columnModel.EditOptions != null) && (isJQueryUIElement || isNativeElement || !columnModel.EditOptions.AreDefault())) { javaScriptBuilder.AppendJavaScriptObjectFieldOpening(JqGridOptionsNames.ColumnModel.EDIT_OPTIONS) .AppendJavaScriptObjectFunctionField(JqGridOptionsNames.ColumnModel.Editing.CUSTOM_ELEMENT, columnModel.EditOptions.CustomElementFunction) .AppendJavaScriptObjectFunctionField(JqGridOptionsNames.ColumnModel.Editing.CUSTOM_VALUE, columnModel.EditOptions.CustomValueFunction) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.ColumnModel.Editing.NULL_IF_EMPTY, columnModel.EditOptions.NullIfEmpty, JqGridOptionsDefaults.ColumnModel.Editing.NullIfEmpty); if (!String.IsNullOrWhiteSpace(columnModel.EditOptions.PostDataScript)) { javaScriptBuilder.AppendJavaScriptObjectFunctionField(JqGridOptionsNames.ColumnModel.Editing.POST_DATA, columnModel.EditOptions.PostDataScript); } else if (columnModel.EditOptions.PostData != null) { javaScriptBuilder.AppendJavaScriptObjectObjectField(JqGridOptionsNames.ColumnModel.Editing.POST_DATA, columnModel.EditOptions.PostData, jqGridJsonService); } if ((columnModel.EditOptions.HtmlAttributes != null) && (columnModel.EditOptions.HtmlAttributes.Count > 0)) { javaScriptBuilder.AppendJavaScriptObjectObjectPropertiesFields(columnModel.EditOptions.HtmlAttributes, jqGridJsonService); } switch (columnModel.EditType) { case JqGridColumnEditTypes.Date: javaScriptBuilder.AppendJavaScriptObjectFunctionField(JqGridOptionsNames.ColumnModel.Element.DATA_INIT, DATE_DATA_INIT); break; case JqGridColumnEditTypes.DateTimeLocal: javaScriptBuilder.AppendJavaScriptObjectFunctionField(JqGridOptionsNames.ColumnModel.Element.DATA_INIT, DATE_TIME_LOCAL_DATA_INIT); break; case JqGridColumnEditTypes.JQueryUIAutocomplete: javaScriptBuilder.AppendColumnModelJQueryUIAutocompleteDataInit(columnModel.EditOptions); break; case JqGridColumnEditTypes.JQueryUIDatepicker: javaScriptBuilder.AppendColumnModelJQueryUIDatepickerDataInit(columnModel.EditOptions, options, asSubgrid); break; case JqGridColumnEditTypes.JQueryUISpinner: javaScriptBuilder.AppendColumnModelJQueryUISpinnerDataInit(columnModel.EditOptions); break; } javaScriptBuilder.AppendColumnModelElementOptions(columnModel.EditOptions, isJQueryUIElement, jqGridJsonService) .AppendJavaScriptObjectFieldClosing(); } javaScriptBuilder.AppendColumnModelRules(JqGridOptionsNames.ColumnModel.EDIT_RULES, columnModel.EditRules) .AppendColumnModelFormOptions(columnModel.FormOptions); } return(javaScriptBuilder); }
internal static StringBuilder AppendJavaScriptObjectJqGridObjectField(this StringBuilder javaScriptBuilder, string fieldName, object fieldValue, IJqGridJsonService jqGridJsonService) { if (fieldValue != null) { javaScriptBuilder.AppendJavaScriptObjectFunctionField(fieldName, jqGridJsonService.SerializeJqGridObject(fieldValue)); } return(javaScriptBuilder); }
internal static StringBuilder AppendJavaScriptObjectScriptOrObjectField(this StringBuilder javaScriptBuilder, string fieldName, string fieldScript, object fieldValue, IJqGridJsonService jqGridJsonService) { if (!String.IsNullOrWhiteSpace(fieldScript)) { javaScriptBuilder.AppendJavaScriptObjectFunctionField(fieldName, fieldScript); } else if (fieldValue != null) { javaScriptBuilder.AppendJavaScriptObjectObjectField(fieldName, fieldValue, jqGridJsonService); } return(javaScriptBuilder); }
private static StringBuilder AppendColumnModelActionsFormatterOptions(this StringBuilder javaScriptBuilder, JqGridColumnFormatterOptions formatterOptions, IJqGridJsonService jqGridJsonService) { javaScriptBuilder.AppendJavaScriptObjectBooleanField(JqGridOptionsNames.ColumnModel.Formatter.KEYS, formatterOptions.Keys, JqGridOptionsDefaults.ColumnModel.Formatter.Keys) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.ColumnModel.Formatter.EDIT_BUTTON, formatterOptions.EditButton, JqGridOptionsDefaults.ColumnModel.Formatter.EditButton) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.ColumnModel.Formatter.DELETE_BUTTON, formatterOptions.DeleteButton, JqGridOptionsDefaults.ColumnModel.Formatter.DeleteButton) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.ColumnModel.Formatter.USE_FORM_EDITING, formatterOptions.UseFormEditing, JqGridOptionsDefaults.ColumnModel.Formatter.UseFormEditing); if (formatterOptions.EditButton) { if (formatterOptions.UseFormEditing) { javaScriptBuilder.AppendNavigatorEditActionOptions(JqGridOptionsNames.ColumnModel.Formatter.EDIT_OPTIONS, formatterOptions.FormEditingOptions, jqGridJsonService); } else { javaScriptBuilder.AppendInlineNavigatorActionOptions(null, formatterOptions.InlineEditingOptions, jqGridJsonService); } } if (formatterOptions.DeleteButton) { javaScriptBuilder.AppendNavigatorDeleteActionOptions(JqGridOptionsNames.ColumnModel.Formatter.DELETE_OPTIONS, formatterOptions.DeleteOptions, jqGridJsonService); } return(javaScriptBuilder); }
internal static StringBuilder AppendNavigatorDeleteActionOptions(this StringBuilder javaScriptBuilder, string fieldName, JqGridNavigatorDeleteActionOptions navigatorDeleteActionOptions, IJqGridJsonService jqGridJsonService) { if ((navigatorDeleteActionOptions != null) && !navigatorDeleteActionOptions.AreDefault()) { if (String.IsNullOrWhiteSpace(fieldName)) { javaScriptBuilder.Append(",").AppendJavaScriptObjectOpening(); } else { javaScriptBuilder.AppendJavaScriptObjectFieldOpening(fieldName); } javaScriptBuilder.AppendNavigatorModifyActionOptions(navigatorDeleteActionOptions) .AppendJavaScriptObjectIntegerField(JqGridOptionsNames.Navigator.WIDTH, navigatorDeleteActionOptions.Width, JqGridOptionsDefaults.Navigator.DeleteActionWidth) .AppendJavaScriptObjectObjectField(JqGridOptionsNames.Navigator.AJAX_DELETE_OPTIONS, navigatorDeleteActionOptions.AjaxOptions, jqGridJsonService) .AppendJavaScriptObjectScriptOrObjectField(JqGridOptionsNames.Navigator.DELETE_EXTRA_DATA, navigatorDeleteActionOptions.ExtraDataScript, navigatorDeleteActionOptions.ExtraData, jqGridJsonService) .AppendJavaScriptObjectFunctionField(JqGridOptionsNames.Navigator.SERIALIZE_DELETE_DATA, navigatorDeleteActionOptions.SerializeData) .AppendFormButtonIcon(JqGridOptionsNames.Navigator.DELETE_ICON, navigatorDeleteActionOptions.DeleteButtonIcon, JqGridFormButtonIcon.DeleteIcon) .AppendFormButtonIcon(JqGridOptionsNames.Navigator.CANCEL_ICON, navigatorDeleteActionOptions.CancelButtonIcon, JqGridFormButtonIcon.CancelIcon); if (String.IsNullOrWhiteSpace(fieldName)) { javaScriptBuilder.AppendJavaScriptObjectClosing(); } else { javaScriptBuilder.AppendJavaScriptObjectFieldClosing(); } } else if (String.IsNullOrWhiteSpace(fieldName)) { javaScriptBuilder.Append(NULL_NAVIGATOR_OPTIONS); } return(javaScriptBuilder); }
internal static StringBuilder AppendInlineNavigator(this StringBuilder javaScriptBuilder, JqGridOptions options, IJqGridJsonService jqGridJsonService, bool asSubgrid) { if (options.InlineNavigator != null) { javaScriptBuilder.AppendLine(")") .AppendFormat(".jqGrid('inlineNav',{0}", options.GetJqGridPagerSelector(options.Navigator.Pager, asSubgrid)) .AppendInlineNavigatorOptions(options.InlineNavigator, jqGridJsonService); } return(javaScriptBuilder); }
internal static StringBuilder AppendNavigatorEditActionOptions(this StringBuilder javaScriptBuilder, string fieldName, JqGridNavigatorEditActionOptions navigatorEditActionOptions, IJqGridJsonService jqGridJsonService) { if ((navigatorEditActionOptions != null) && !navigatorEditActionOptions.AreDefault()) { if (String.IsNullOrWhiteSpace(fieldName)) { javaScriptBuilder.Append(",").AppendJavaScriptObjectOpening(); } else { javaScriptBuilder.AppendJavaScriptObjectFieldOpening(fieldName); } if ((navigatorEditActionOptions.SaveKeyEnabled != JqGridOptionsDefaults.Navigator.SaveKeyEnabled) || (navigatorEditActionOptions.SaveKey != JqGridOptionsDefaults.Navigator.SaveKey)) { javaScriptBuilder.AppendJavaScriptArrayFieldOpening(JqGridOptionsNames.Navigator.SAVE_KEY) .AppendJavaScriptArrayBooleanValue(navigatorEditActionOptions.SaveKeyEnabled) .AppendJavaScriptArrayIntegerValue(navigatorEditActionOptions.SaveKey) .AppendJavaScriptArrayFieldClosing(); } javaScriptBuilder.AppendNavigatorModifyActionOptions(navigatorEditActionOptions) .AppendJavaScriptObjectIntegerField(JqGridOptionsNames.Navigator.WIDTH, navigatorEditActionOptions.Width, JqGridOptionsDefaults.Navigator.EditActionWidth) .AppendJavaScriptObjectObjectField(JqGridOptionsNames.Navigator.AJAX_EDIT_OPTIONS, navigatorEditActionOptions.AjaxOptions, jqGridJsonService) .AppendJavaScriptObjectScriptOrObjectField(JqGridOptionsNames.Navigator.EDIT_EXTRA_DATA, navigatorEditActionOptions.ExtraDataScript, navigatorEditActionOptions.ExtraData, jqGridJsonService) .AppendJavaScriptObjectFunctionField(JqGridOptionsNames.Navigator.SERIALIZE_EDIT_DATA, navigatorEditActionOptions.SerializeData) .AppendJavaScriptObjectEnumField(JqGridOptionsNames.Navigator.ADDED_ROW_POSITION, navigatorEditActionOptions.AddedRowPosition, JqGridOptionsDefaults.Navigator.AddedRowPosition) .AppendJavaScriptObjectFunctionField(JqGridOptionsNames.Navigator.AFTER_CLICK_PG_BUTTONS, navigatorEditActionOptions.AfterClickPgButtons) .AppendJavaScriptObjectFunctionField(JqGridOptionsNames.Navigator.AFTER_COMPLETE, navigatorEditActionOptions.AfterComplete) .AppendJavaScriptObjectFunctionField(JqGridOptionsNames.Navigator.BEFORE_CHECK_VALUES, navigatorEditActionOptions.BeforeCheckValues) .AppendJavaScriptObjectStringField(JqGridOptionsNames.Navigator.BOTTOM_INFO, navigatorEditActionOptions.BottomInfo) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.Navigator.CHECK_ON_SUBMIT, navigatorEditActionOptions.CheckOnSubmit, JqGridOptionsDefaults.Navigator.CheckOnSubmit) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.Navigator.CHECK_ON_UPDATE, navigatorEditActionOptions.CheckOnUpdate, JqGridOptionsDefaults.Navigator.CheckOnUpdate) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.Navigator.CLEAR_AFTER_ADD, navigatorEditActionOptions.ClearAfterAdd, JqGridOptionsDefaults.Navigator.ClearAfterAdd) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.Navigator.CLOSE_AFTER_ADD, navigatorEditActionOptions.CloseAfterAdd, JqGridOptionsDefaults.Navigator.CloseAfterAdd) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.Navigator.CLOSE_AFTER_EDIT, navigatorEditActionOptions.CloseAfterEdit, JqGridOptionsDefaults.Navigator.CloseAfterEdit) .AppendFormButtonIcon(JqGridOptionsNames.Navigator.CLOSE_ICON, navigatorEditActionOptions.CloseButtonIcon, JqGridFormButtonIcon.CloseIcon) .AppendNavigatorPageableFormActionOptions(navigatorEditActionOptions) .AppendJavaScriptObjectFunctionField(JqGridOptionsNames.Navigator.ON_CLICK_PG_BUTTONS, navigatorEditActionOptions.OnClickPgButtons) .AppendJavaScriptObjectFunctionField(JqGridOptionsNames.Navigator.ON_INITIALIZE_FORM, navigatorEditActionOptions.OnInitializeForm) .AppendFormButtonIcon(JqGridOptionsNames.Navigator.SAVE_ICON, navigatorEditActionOptions.SaveButtonIcon, JqGridFormButtonIcon.SaveIcon) .AppendJavaScriptObjectStringField(JqGridOptionsNames.Navigator.TOP_INFO, navigatorEditActionOptions.TopInfo); if (String.IsNullOrWhiteSpace(fieldName)) { javaScriptBuilder.AppendJavaScriptObjectClosing(); } else { javaScriptBuilder.AppendJavaScriptObjectFieldClosing(); } } else if (String.IsNullOrWhiteSpace(fieldName)) { javaScriptBuilder.Append(NULL_NAVIGATOR_OPTIONS); } return(javaScriptBuilder); }
internal static StringBuilder AppendNavigator(this StringBuilder javaScriptBuilder, JqGridOptions options, IJqGridJsonService jqGridJsonService, bool asSubgrid) { if (options.Navigator != null) { string jqGridPagerSelector = options.GetJqGridPagerSelector(options.Navigator.Pager, asSubgrid); javaScriptBuilder.AppendLine(")") .AppendFormat(".jqGrid('navGrid',{0}", jqGridPagerSelector) .AppendNavigatorOptions(options.Navigator) .AppendNavigatorEditActionOptions(null, options.Navigator.EditOptions, jqGridJsonService) .AppendNavigatorEditActionOptions(null, options.Navigator.AddOptions, jqGridJsonService) .AppendNavigatorDeleteActionOptions(null, options.Navigator.DeleteOptions, jqGridJsonService) .AppendNavigatorSearchActionOptions(options.Navigator.SearchOptions) .AppendNavigatorViewActionOptions(options.Navigator.ViewOptions) .AppendNavigatorLeadingCustomElements(jqGridPagerSelector, options.Navigator.LeadingCustomElements) .AppendNavigatorTrailingCustomElements(jqGridPagerSelector, options.Navigator.TrailingCustomElements); } return(javaScriptBuilder); }
private static StringBuilder AppendSubgridAsGridRowExpanded(this StringBuilder javaScriptBuilder, JqGridOptions options, IJqGridJsonService jqGridJsonService) { javaScriptBuilder.AppendFormat("{0}: function (subgridId, rowId) {{", JqGridOptionsNames.SUBGRID_ROW_EXPANDED) .Append("var $subgridContainer = jQuery('#' + subgridId);") .AppendFormat("var {0} = jQuery('<table></table').attr('id', subgridId + '_t');", SUBGRID_VARIABLE) .AppendFormat("$subgridContainer.append({0});", SUBGRID_VARIABLE); if (options.SubgridOptions.Pager) { javaScriptBuilder.AppendFormat("var $subgridPager = jQuery('<div></div>').attr('id', {0});", SUBGRID_PAGER_ID) .Append("$subgridContainer.append($subgridPager);"); } javaScriptBuilder.Append(SUBGRID_VARIABLE) .AppendJqGridScript(options.SubgridOptions, jqGridJsonService, true) .Append("},"); return(javaScriptBuilder); }
internal static StringBuilder AppendSubgrid(this StringBuilder javaScriptBuilder, JqGridOptions options, IJqGridJsonService jqGridJsonService) { if (options.SubgridEnabled && (options.SubgridOptions != null)) { javaScriptBuilder.AppendCoreSubgridOptions(options) .AppendSubgridAsGridRowExpanded(options, jqGridJsonService); } else if (options.SubgridEnabled && !String.IsNullOrWhiteSpace(options.SubgridUrl) && (options.SubgridModel != null)) { javaScriptBuilder.AppendCoreSubgridOptions(options) .AppendJavaScriptObjectFunctionField(JqGridOptionsNames.SUBGRID_ROW_EXPANDED, options.SubGridRowExpanded) .AppendJavaScriptObjectStringField(JqGridOptionsNames.SUBGRID_ULR, options.SubgridUrl) .AppendJavaScriptArrayFieldOpening(JqGridOptionsNames.SUBGRID_MODEL) .AppendJavaScriptObjectOpening() .AppendJavaScriptObjectStringArrayField(JqGridOptionsNames.SubgridModel.NAMES, options.SubgridModel.ColumnsModels.Select(c => c.Name)) .AppendJavaScriptObjectIntegerArrayField(JqGridOptionsNames.SubgridModel.WIDTHS, options.SubgridModel.ColumnsModels.Select(c => c.Width)) .AppendJavaScriptObjectEnumArrayField(JqGridOptionsNames.SubgridModel.ALIGNMENTS, options.SubgridModel.ColumnsModels.Select(c => c.Alignment)) .AppendJavaScriptObjectStringArrayField(JqGridOptionsNames.SubgridModel.MAPPINGS, options.SubgridModel.ColumnsModels.Select(c => c.Mapping)) .AppendJavaScriptObjectStringArrayField(JqGridOptionsNames.SubgridModel.PARAMETERS, options.SubgridModel.Parameters) .AppendJavaScriptObjectFieldClosing() .AppendJavaScriptArrayFieldClosing(); } else if (options.SubgridEnabled && !String.IsNullOrWhiteSpace(options.SubGridRowExpanded)) { javaScriptBuilder.AppendCoreSubgridOptions(options) .AppendJavaScriptObjectFunctionField(JqGridOptionsNames.SUBGRID_ROW_EXPANDED, options.SubGridRowExpanded); } return(javaScriptBuilder); }
internal static StringBuilder AppendJavaScriptArrayObjectValue(this StringBuilder javaScriptBuilder, object value, IJqGridJsonService jqGridJsonService) { if (value != null) { javaScriptBuilder.AppendJavaScriptArrayFunctionValue(jqGridJsonService.SerializeObject(value)); } return(javaScriptBuilder); }
private static StringBuilder AppendColumnModelFormatterOptions(this StringBuilder javaScriptBuilder, string formatter, JqGridColumnFormatterOptions formatterOptions, IJqGridJsonService jqGridJsonService) { if ((formatterOptions != null) && !formatterOptions.AreDefault(formatter)) { javaScriptBuilder.AppendJavaScriptObjectFieldOpening(JqGridOptionsNames.ColumnModel.FORMATTER_OPTIONS); switch (formatter) { case JqGridPredefinedFormatters.Integer: javaScriptBuilder.AppendColumnModelIntegerFormatterOptions(formatterOptions); break; case JqGridPredefinedFormatters.Number: javaScriptBuilder.AppendColumnModelNumberFormatterOptions(formatterOptions); break; case JqGridPredefinedFormatters.Currency: javaScriptBuilder.AppendColumnModelCurrencyFormatterOptions(formatterOptions); break; case JqGridPredefinedFormatters.Date: javaScriptBuilder.AppendColumnModelDateFormatterOptions(formatterOptions); break; case JqGridPredefinedFormatters.Link: javaScriptBuilder.AppendColumnModelLinkFormatterOptions(formatterOptions); break; case JqGridPredefinedFormatters.ShowLink: javaScriptBuilder.AppendColumnModelShowLinkFormatterOptions(formatterOptions); break; case JqGridPredefinedFormatters.CheckBox: javaScriptBuilder.AppendColumnModelCheckBoxFormatterOptions(formatterOptions); break; case JqGridPredefinedFormatters.Actions: javaScriptBuilder.AppendColumnModelActionsFormatterOptions(formatterOptions, jqGridJsonService); break; } javaScriptBuilder.AppendJavaScriptObjectFieldClosing(); } return(javaScriptBuilder); }
internal static StringBuilder AppendColumnsModels(this StringBuilder javaScriptBuilder, JqGridOptions options, IJqGridJsonService jqGridJsonService, bool asSubgrid) { javaScriptBuilder.AppendJavaScriptArrayFieldOpening(JqGridOptionsNames.COLUMNS_MODEL_FIELD); foreach (JqGridColumnModel columnModel in options.ColumnsModels) { javaScriptBuilder.AppendJavaScriptObjectOpening() .AppendJavaScriptObjectStringField(JqGridOptionsNames.ColumnModel.NAME, columnModel.Name) .AppendJavaScriptObjectEnumField(JqGridOptionsNames.ColumnModel.ALIGNMENT, columnModel.Alignment, JqGridOptionsDefaults.ColumnModel.Alignment) .AppendJavaScriptObjectFunctionField(JqGridOptionsNames.ColumnModel.CELL_ATTRIBUTES, columnModel.CellAttributes) .AppendJavaScriptObjectStringField(JqGridOptionsNames.ColumnModel.CLASSES, columnModel.Classes) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.ColumnModel.FIXED, columnModel.Fixed, JqGridOptionsDefaults.ColumnModel.Fixed) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.ColumnModel.FROZEN, columnModel.Frozen, JqGridOptionsDefaults.ColumnModel.Frozen) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.ColumnModel.HIDE_IN_DIALOG, columnModel.HideInDialog, JqGridOptionsDefaults.ColumnModel.HideInDialog) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.ColumnModel.HIDDEN, columnModel.Hidden, JqGridOptionsDefaults.ColumnModel.Hidden) .AppendJavaScriptObjectStringField(JqGridOptionsNames.ColumnModel.JSON_MAP, columnModel.JsonMapping) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.ColumnModel.KEY, columnModel.Key, JqGridOptionsDefaults.ColumnModel.Key) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.ColumnModel.RESIZABLE, columnModel.Resizable, JqGridOptionsDefaults.ColumnModel.Resizable) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.ColumnModel.TITLE, columnModel.Title, JqGridOptionsDefaults.ColumnModel.Title) .AppendJavaScriptObjectIntegerField(JqGridOptionsNames.ColumnModel.WIDTH, columnModel.Width, JqGridOptionsDefaults.ColumnModel.Width) .AppendJavaScriptObjectStringField(JqGridOptionsNames.ColumnModel.XML_MAP, columnModel.XmlMapping) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.ColumnModel.VIEWABLE, columnModel.Viewable, JqGridOptionsDefaults.ColumnModel.Viewable) .AppendColumnModelEditOptions(columnModel, options, jqGridJsonService, asSubgrid) .AppendColumnModelSearchOptions(columnModel, options, jqGridJsonService, asSubgrid) .AppendColumnModelSortOptions(columnModel) .AppendColumnModelSummaryOptions(columnModel, options) .AppendColumnModelFormatter(columnModel, jqGridJsonService); javaScriptBuilder.AppendJavaScriptObjectFieldClosing(); } javaScriptBuilder.AppendJavaScriptArrayFieldClosing() .AppendLine(); return(javaScriptBuilder); }
private static StringBuilder AppendPostData(this StringBuilder javaScriptBuilder, JqGridOptions options, IJqGridJsonService jqGridJsonService) { if (!String.IsNullOrWhiteSpace(options.PostDataScript)) { javaScriptBuilder.AppendJavaScriptObjectFunctionField(JqGridOptionsNames.POST_DATA, options.PostDataScript); } else if (options.PostData != null) { javaScriptBuilder.AppendJavaScriptObjectJqGridObjectField(JqGridOptionsNames.POST_DATA, options.PostData, jqGridJsonService); } return(javaScriptBuilder); }
internal static StringBuilder AppendInlineNavigatorOptions(this StringBuilder javaScriptBuilder, JqGridInlineNavigatorOptions inlineNavigatorOptions, IJqGridJsonService jqGridJsonService) { if ((inlineNavigatorOptions != null) && !inlineNavigatorOptions.AreDefault()) { javaScriptBuilder.Append(",") .AppendJavaScriptObjectOpening() .AppendBaseNavigatorOptions(inlineNavigatorOptions) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.Navigator.SAVE, inlineNavigatorOptions.Save, JqGridOptionsDefaults.Navigator.Save) .AppendJavaScriptObjectStringField(JqGridOptionsNames.Navigator.SAVE_ICON, inlineNavigatorOptions.SaveIcon, JqGridOptionsDefaults.Navigator.SaveIcon) .AppendJavaScriptObjectStringField(JqGridOptionsNames.Navigator.SAVE_TEXT, inlineNavigatorOptions.SaveText) .AppendJavaScriptObjectStringField(JqGridOptionsNames.Navigator.SAVE_TITLE, inlineNavigatorOptions.SaveToolTip, JqGridOptionsDefaults.Navigator.SaveToolTip) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.Navigator.CANCEL, inlineNavigatorOptions.Cancel, JqGridOptionsDefaults.Navigator.Cancel) .AppendJavaScriptObjectStringField(JqGridOptionsNames.Navigator.CANCEL_ICON, inlineNavigatorOptions.CancelIcon, JqGridOptionsDefaults.Navigator.CancelIcon) .AppendJavaScriptObjectStringField(JqGridOptionsNames.Navigator.CANCEL_TEXT, inlineNavigatorOptions.CancelText) .AppendJavaScriptObjectStringField(JqGridOptionsNames.Navigator.CANCEL_TITLE, inlineNavigatorOptions.CancelToolTip, JqGridOptionsDefaults.Navigator.CancelToolTip) .AppendInlineNavigatorActionOptions(JqGridOptionsNames.Navigator.EDIT_PARAMETERS, inlineNavigatorOptions.ActionOptions, jqGridJsonService) .AppendInlineNavigatorAddActionOptions(inlineNavigatorOptions.AddActionOptions, jqGridJsonService) .AppendJavaScriptObjectClosing(); } return(javaScriptBuilder); }
internal static StringBuilder AppendJavaScriptObjectObjectPropertiesFields(this StringBuilder javaScriptBuilder, object fieldValue, IJqGridJsonService jqGridJsonService) { if (fieldValue != null) { string serializedFieldValue = jqGridJsonService.SerializeObject(fieldValue); javaScriptBuilder.Append(serializedFieldValue.Substring(1, serializedFieldValue.Length - 2)).Append(","); } return(javaScriptBuilder); }
internal static StringBuilder AppendOptions(this StringBuilder javaScriptBuilder, JqGridOptions options, IJqGridJsonService jqGridJsonService, bool asSubgrid) { javaScriptBuilder.AppendJavaScriptObjectStringField(JqGridOptionsNames.CAPTION, options.Caption) .AppendCellEditing(options) .AppendJavaScriptObjectStringField(JqGridOptionsNames.EDITITNG_URL, options.EditingUrl) .AppendJavaScriptObjectEnumField(JqGridOptionsNames.DATA_TYPE, options.DataType, JqGridOptionsDefaults.DataType) .AppendDataSource(options, asSubgrid) .AppendStyling(options) .AppendIconSet(options) .AppendGrouping(options) .AppendParametersNames(options.ParametersNames) .AppendPostData(options, jqGridJsonService) .AppendJsonReader(options.JsonReader) .AppendPager(options, asSubgrid) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.TOP_PAGER, options.TopPager, JqGridOptionsDefaults.TopPager) .AppendSubgrid(options, jqGridJsonService) .AppendTreeGrid(options) .AppendDynamicScrolling(options) .AppendJavaScriptObjectStringField(JqGridOptionsNames.SORTING_NAME, options.SortingName) .AppendJavaScriptObjectEnumField(JqGridOptionsNames.SORTING_ORDER, options.SortingOrder, JqGridOptionsDefaults.SortingOrder) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.REQUEST_INITIAL_SERVER_SEARCHING, options.RequestInitialServerSearching, JqGridOptionsDefaults.RequestInitialServerSearching) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.FOOTER_ENABLED, options.FooterEnabled, JqGridOptionsDefaults.FooterEnabled) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.USER_DATA_ON_FOOTER, options.UserDataOnFooter, JqGridOptionsDefaults.UserDataOnFooter) .AppendJavaScriptObjectIntegerField(JqGridOptionsNames.HEIGHT, options.Height) .AppendJavaScriptObjectFunctionField(JqGridOptionsNames.ON_SELECT_ROW, options.OnSelectRow) .AppendJavaScriptObjectFunctionField(JqGridOptionsNames.GRID_COMPLETE, options.GridComplete) .AppendJavaScriptObjectFunctionField(JqGridOptionsNames.LOAD_COMPLETE, options.LoadComplete); if (!options.Height.HasValue) { javaScriptBuilder.AppendJavaScriptObjectStringField(JqGridOptionsNames.HEIGHT, JqGridOptionsDefaults.Height); } return(javaScriptBuilder); }
internal static StringBuilder AppendInlineNavigatorActionOptions(this StringBuilder javaScriptBuilder, string fieldName, JqGridInlineNavigatorActionOptions inlineNavigatorActionOptions, IJqGridJsonService jqGridJsonService) { if ((inlineNavigatorActionOptions != null) && !inlineNavigatorActionOptions.AreDefault()) { if (!String.IsNullOrWhiteSpace(fieldName)) { javaScriptBuilder.AppendJavaScriptObjectFieldOpening(fieldName); } javaScriptBuilder.AppendJavaScriptObjectScriptOrObjectField(JqGridOptionsNames.InlineNavigator.EXTRA_PARAM, inlineNavigatorActionOptions.ExtraParamScript, inlineNavigatorActionOptions.ExtraParam, jqGridJsonService) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.InlineNavigator.KEYS, inlineNavigatorActionOptions.Keys, JqGridOptionsDefaults.Navigator.InlineActionKeys) .AppendJavaScriptObjectFunctionField(JqGridOptionsNames.InlineNavigator.ON_EDIT_FUNCTION, inlineNavigatorActionOptions.OnEditFunction) .AppendJavaScriptObjectFunctionField(JqGridOptionsNames.InlineNavigator.SUCCESS_FUNCTION, inlineNavigatorActionOptions.SuccessFunction) .AppendJavaScriptObjectStringField(JqGridOptionsNames.InlineNavigator.URL, inlineNavigatorActionOptions.Url) .AppendJavaScriptObjectFunctionField(JqGridOptionsNames.InlineNavigator.AFTER_SAVE_FUNCTION, inlineNavigatorActionOptions.AfterSaveFunction) .AppendJavaScriptObjectFunctionField(JqGridOptionsNames.InlineNavigator.ERROR_FUNCTION, inlineNavigatorActionOptions.ErrorFunction) .AppendJavaScriptObjectFunctionField(JqGridOptionsNames.InlineNavigator.AFTER_RESTORE_FUNCTION, inlineNavigatorActionOptions.AfterRestoreFunction) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.InlineNavigator.RESTORE_AFTER_ERROR, inlineNavigatorActionOptions.RestoreAfterError, JqGridOptionsDefaults.Navigator.InlineActionRestoreAfterError) .AppendJavaScriptObjectEnumField(JqGridOptionsNames.InlineNavigator.METHOD_TYPE, inlineNavigatorActionOptions.MethodType, JqGridOptionsDefaults.Navigator.InlineActionMethodType); if (!String.IsNullOrWhiteSpace(fieldName)) { javaScriptBuilder.AppendJavaScriptObjectFieldClosing(); } } return(javaScriptBuilder); }
internal static StringBuilder AppendInlineNavigatorAddActionOptions(this StringBuilder javaScriptBuilder, JqGridInlineNavigatorAddActionOptions inlineNavigatorAddActionOptions, IJqGridJsonService jqGridJsonService) { if ((inlineNavigatorAddActionOptions != null) && !inlineNavigatorAddActionOptions.AreDefault()) { javaScriptBuilder.AppendJavaScriptObjectFieldOpening(JqGridOptionsNames.Navigator.ADD_PARAMETERS) .AppendJavaScriptObjectStringField(JqGridOptionsNames.Navigator.ROW_ID, inlineNavigatorAddActionOptions.RowId, JqGridOptionsDefaults.Navigator.NewRowId) .AppendJavaScriptObjectObjectField(JqGridOptionsNames.Navigator.INIT_DATA, inlineNavigatorAddActionOptions.InitData, jqGridJsonService) .AppendJavaScriptObjectEnumField(JqGridOptionsNames.Navigator.POSITION, inlineNavigatorAddActionOptions.NewRowPosition, JqGridOptionsDefaults.Navigator.NewRowPosition) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.Navigator.USE_DEFAULT_VALUES, inlineNavigatorAddActionOptions.UseDefaultValues, JqGridOptionsDefaults.Navigator.UseDefaultValues) .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.Navigator.USE_FORMATTER, inlineNavigatorAddActionOptions.UseFormatter, JqGridOptionsDefaults.Navigator.UseFormatter) .AppendInlineNavigatorActionOptions(JqGridOptionsNames.Navigator.ADD_ROW_PARAMETERS, inlineNavigatorAddActionOptions, jqGridJsonService) .AppendJavaScriptObjectFieldClosing(); } return(javaScriptBuilder); }
internal static StringBuilder AppendJqGridScript(this StringBuilder javaScriptBuilder, JqGridOptions options, IJqGridJsonService jqGridJsonService, bool asSubgrid) { javaScriptBuilder.Append(".jqGrid({").AppendLine() .AppendJavaScriptObjectStringArrayField(JqGridOptionsNames.COLUMNS_NAMES_FIELD, options.ColumnsNames) .AppendColumnsModels(options, jqGridJsonService, asSubgrid) .AppendOptions(options, jqGridJsonService, asSubgrid) .AppendJavaScriptObjectClosing() .AppendHeaderGrouping(options) .AppendFooterData(options) .AppendFilterToolbar(options.FilterToolbar) .AppendNavigator(options, jqGridJsonService, asSubgrid) .AppendInlineNavigator(options, jqGridJsonService, asSubgrid) .AppendLine(");"); return(javaScriptBuilder); }