Example #1
0
        internal static bool AreDefault(this JqGridColumnFormatterOptions formatterOptions, string formatter)
        {
            switch (formatter)
            {
            case JqGridPredefinedFormatters.Integer:
                return((formatterOptions.DefaultValue == JqGridOptionsDefaults.ColumnModel.Formatter.IntegerDefaultValue) &&
                       (formatterOptions.ThousandsSeparator == JqGridOptionsDefaults.ColumnModel.Formatter.ThousandsSeparator));

            case JqGridPredefinedFormatters.Number:
                return((formatterOptions.DecimalPlaces == JqGridOptionsDefaults.ColumnModel.Formatter.DecimalPlaces) &&
                       (formatterOptions.DecimalSeparator == JqGridOptionsDefaults.ColumnModel.Formatter.DecimalSeparator) &&
                       (formatterOptions.DefaultValue == JqGridOptionsDefaults.ColumnModel.Formatter.NumberDefaultValue) &&
                       (formatterOptions.ThousandsSeparator == JqGridOptionsDefaults.ColumnModel.Formatter.ThousandsSeparator));

            case JqGridPredefinedFormatters.Currency:
                return((formatterOptions.DecimalPlaces == JqGridOptionsDefaults.ColumnModel.Formatter.DecimalPlaces) &&
                       (formatterOptions.DecimalSeparator == JqGridOptionsDefaults.ColumnModel.Formatter.DecimalSeparator) &&
                       (formatterOptions.DefaultValue == JqGridOptionsDefaults.ColumnModel.Formatter.CurrencyDefaultValue) &&
                       String.IsNullOrWhiteSpace(formatterOptions.Prefix) &&
                       String.IsNullOrWhiteSpace(formatterOptions.Suffix) &&
                       (formatterOptions.ThousandsSeparator == JqGridOptionsDefaults.ColumnModel.Formatter.ThousandsSeparator));

            case JqGridPredefinedFormatters.Date:
                return((formatterOptions.SourceFormat == JqGridOptionsDefaults.ColumnModel.Formatter.SourceFormat) &&
                       (formatterOptions.OutputFormat == JqGridOptionsDefaults.ColumnModel.Formatter.OutputFormat));

            case JqGridPredefinedFormatters.Link:
                return(String.IsNullOrWhiteSpace(formatterOptions.Target));

            case JqGridPredefinedFormatters.ShowLink:
                return(String.IsNullOrWhiteSpace(formatterOptions.BaseLinkUrl) &&
                       String.IsNullOrWhiteSpace(formatterOptions.ShowAction) &&
                       String.IsNullOrWhiteSpace(formatterOptions.AddParam) &&
                       String.IsNullOrWhiteSpace(formatterOptions.Target) &&
                       (formatterOptions.IdName == JqGridOptionsDefaults.ColumnModel.Formatter.IdName));

            case JqGridPredefinedFormatters.CheckBox:
                return(formatterOptions.Disabled == JqGridOptionsDefaults.ColumnModel.Formatter.Disabled);

            case JqGridPredefinedFormatters.Actions:
                return((formatterOptions.Keys == JqGridOptionsDefaults.ColumnModel.Formatter.Keys) &&
                       (formatterOptions.EditButton == JqGridOptionsDefaults.ColumnModel.Formatter.EditButton) &&
                       (formatterOptions.UseFormEditing == JqGridOptionsDefaults.ColumnModel.Formatter.UseFormEditing) &&
                       ((formatterOptions.InlineEditingOptions == null) || formatterOptions.InlineEditingOptions.AreDefault()) &&
                       (formatterOptions.DeleteButton == JqGridOptionsDefaults.ColumnModel.Formatter.DeleteButton) &&
                       ((formatterOptions.DeleteOptions == null) || formatterOptions.DeleteOptions.AreDefault()));

            case JqGridPredefinedFormatters.JQueryUIButton:
                return(String.IsNullOrEmpty(formatterOptions.Label) &&
                       (formatterOptions.Text == JqGridOptionsDefaults.ColumnModel.Formatter.Text) &&
                       String.IsNullOrEmpty(formatterOptions.PrimaryIcon) &&
                       String.IsNullOrEmpty(formatterOptions.SecondaryIcon));

            default:
                return(true);
            }
        }
        /// <summary>
        /// Initializes a new instance of the JqGridColumnFormatterAttribute class.
        /// </summary>
        /// <param name="formatter">The predefined formatter type ('' delimited string) or custom JavaScript formatting function name.</param>
        public JqGridColumnFormatterAttribute(string formatter)
        {
            if (String.IsNullOrWhiteSpace(formatter))
            {
                throw new ArgumentNullException(nameof(formatter));
            }

            Formatter        = formatter;
            FormatterOptions = new JqGridColumnFormatterOptions(formatter);
        }
Example #3
0
 /// <summary>
 /// Initializes a new instance of the JqGridColumnFormatterAttribute class.
 /// </summary>
 /// <param name="formatter">The predefined formatter type ('' delimited string) or custom JavaScript formatting function name.</param>
 public JqGridColumnFormatterAttribute(string formatter)
 {
     if (String.IsNullOrWhiteSpace(formatter))
     {
         throw new ArgumentNullException("formatter");
     }
     Formatter     = formatter;
     Options       = new JqGridColumnFormatterOptions(formatter);
     PrimaryIcon   = String.Empty;
     SecondaryIcon = String.Empty;
     Label         = String.Empty;
     Text          = true;
 }
Example #4
0
 internal static void SetColumnFormatterOptions(this ModelMetadata metadata, JqGridColumnFormatterOptions formatterOptions)
 {
     metadata.AdditionalValues.Add(_formatterOptionsKey, formatterOptions);
 }
 internal static void SetColumnFormatterOptions(this ModelMetadata metadata, JqGridColumnFormatterOptions formatterOptions)
 {
     metadata.AdditionalValues.Add(_formatterOptionsKey, formatterOptions);
 }
        private static StringBuilder AppendColumnModelActionsFormatterOptions(this StringBuilder javaScriptBuilder, JqGridColumnFormatterOptions formatterOptions)
        {
            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);
                }
                else
                {
                    javaScriptBuilder.AppendInlineNavigatorActionOptions(null, formatterOptions.InlineEditingOptions);
                }
            }

            if (formatterOptions.DeleteButton)
            {
                javaScriptBuilder.AppendNavigatorDeleteActionOptions(JqGridOptionsNames.ColumnModel.Formatter.DELETE_OPTIONS, formatterOptions.DeleteOptions);
            }

            return(javaScriptBuilder);
        }
 private static StringBuilder AppendColumnModelCheckBoxFormatterOptions(this StringBuilder javaScriptBuilder, JqGridColumnFormatterOptions formatterOptions)
 {
     return(javaScriptBuilder.AppendJavaScriptObjectBooleanField(JqGridOptionsNames.ColumnModel.Formatter.DISABLED, formatterOptions.Disabled));
 }
 private static StringBuilder AppendColumnModelShowLinkFormatterOptions(this StringBuilder javaScriptBuilder, JqGridColumnFormatterOptions formatterOptions)
 {
     return(javaScriptBuilder.AppendJavaScriptObjectStringField(JqGridOptionsNames.ColumnModel.Formatter.BASE_LINK_URL, formatterOptions.BaseLinkUrl)
            .AppendJavaScriptObjectStringField(JqGridOptionsNames.ColumnModel.Formatter.SHOW_ACTION, formatterOptions.ShowAction)
            .AppendJavaScriptObjectStringField(JqGridOptionsNames.ColumnModel.Formatter.ADD_PARAM, formatterOptions.AddParam)
            .AppendJavaScriptObjectStringField(JqGridOptionsNames.ColumnModel.Formatter.TARGET, formatterOptions.Target)
            .AppendJavaScriptObjectStringField(JqGridOptionsNames.ColumnModel.Formatter.ID_NAME, formatterOptions.IdName, JqGridOptionsDefaults.ColumnModel.Formatter.IdName));
 }
 private static StringBuilder AppendColumnModelLinkFormatterOptions(this StringBuilder javaScriptBuilder, JqGridColumnFormatterOptions formatterOptions)
 {
     return(javaScriptBuilder.AppendJavaScriptObjectStringField(JqGridOptionsNames.ColumnModel.Formatter.TARGET, formatterOptions.Target));
 }
 private static StringBuilder AppendColumnModelDateFormatterOptions(this StringBuilder javaScriptBuilder, JqGridColumnFormatterOptions formatterOptions)
 {
     return(javaScriptBuilder.AppendJavaScriptObjectStringField(JqGridOptionsNames.ColumnModel.Formatter.SOURCE_FORMAT, formatterOptions.SourceFormat, JqGridOptionsDefaults.ColumnModel.Formatter.SourceFormat)
            .AppendJavaScriptObjectStringField(JqGridOptionsNames.ColumnModel.Formatter.OUTPUT_FORMAT, formatterOptions.OutputFormat, JqGridOptionsDefaults.ColumnModel.Formatter.OutputFormat));
 }
 private static StringBuilder AppendColumnModelCurrencyFormatterOptions(this StringBuilder javaScriptBuilder, JqGridColumnFormatterOptions formatterOptions)
 {
     return(javaScriptBuilder.AppendJavaScriptObjectIntegerField(JqGridOptionsNames.ColumnModel.Formatter.DECIMAL_PLACES, formatterOptions.DecimalPlaces, JqGridOptionsDefaults.ColumnModel.Formatter.DecimalPlaces)
            .AppendJavaScriptObjectStringField(JqGridOptionsNames.ColumnModel.Formatter.DECIMAL_SEPARATOR, formatterOptions.DecimalSeparator, JqGridOptionsDefaults.ColumnModel.Formatter.DecimalSeparator)
            .AppendJavaScriptObjectStringField(JqGridOptionsNames.ColumnModel.Formatter.DEFAULT_VALUE, formatterOptions.DefaultValue, JqGridOptionsDefaults.ColumnModel.Formatter.NumberDefaultValue)
            .AppendJavaScriptObjectStringField(JqGridOptionsNames.ColumnModel.Formatter.PREFIX, formatterOptions.Prefix)
            .AppendJavaScriptObjectStringField(JqGridOptionsNames.ColumnModel.Formatter.SUFFIX, formatterOptions.Suffix)
            .AppendJavaScriptObjectStringField(JqGridOptionsNames.ColumnModel.Formatter.THOUSANDS_SEPARATOR, formatterOptions.ThousandsSeparator, JqGridOptionsDefaults.ColumnModel.Formatter.ThousandsSeparator));
 }
 private static StringBuilder AppendColumnModelIntegerFormatterOptions(this StringBuilder javaScriptBuilder, JqGridColumnFormatterOptions formatterOptions)
 {
     return(javaScriptBuilder.AppendJavaScriptObjectStringField(JqGridOptionsNames.ColumnModel.Formatter.DEFAULT_VALUE, formatterOptions.DefaultValue, JqGridOptionsDefaults.ColumnModel.Formatter.IntegerDefaultValue)
            .AppendJavaScriptObjectStringField(JqGridOptionsNames.ColumnModel.Formatter.THOUSANDS_SEPARATOR, formatterOptions.ThousandsSeparator, JqGridOptionsDefaults.ColumnModel.Formatter.ThousandsSeparator));
 }
        private static StringBuilder AppendColumnModelFormatterOptions(this StringBuilder javaScriptBuilder, string formatter, JqGridColumnFormatterOptions formatterOptions)
        {
            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);
                    break;
                }

                javaScriptBuilder.AppendJavaScriptObjectFieldClosing();
            }

            return(javaScriptBuilder);
        }
        private static StringBuilder AppendColumnModelJQueryUIButtonFormatter(this StringBuilder javaScriptBuilder, JqGridColumnFormatterOptions formatterOptions)
        {
            StringBuilder jQueryUIButtonFormatterBuilder = new StringBuilder(80);

            jQueryUIButtonFormatterBuilder.Append(JQUERY_UI_BUTTON_FORMATTER_START);

            if (!formatterOptions.AreDefault(JqGridPredefinedFormatters.JQueryUIButton))
            {
                jQueryUIButtonFormatterBuilder.AppendJavaScriptObjectOpening()
                .AppendJavaScriptObjectStringField(JqGridOptionsNames.ColumnModel.Formatter.LABEL, formatterOptions.Label)
                .AppendJavaScriptObjectBooleanField(JqGridOptionsNames.ColumnModel.Formatter.TEXT, formatterOptions.Text, JqGridOptionsDefaults.ColumnModel.Formatter.Text);

                if (!String.IsNullOrEmpty(formatterOptions.PrimaryIcon) || !String.IsNullOrEmpty(formatterOptions.SecondaryIcon))
                {
                    jQueryUIButtonFormatterBuilder.AppendJavaScriptObjectFieldOpening(JqGridOptionsNames.ColumnModel.Formatter.ICONS)
                    .AppendJavaScriptObjectStringField(JqGridOptionsNames.ColumnModel.Formatter.PRIMARY, formatterOptions.PrimaryIcon)
                    .AppendJavaScriptObjectStringField(JqGridOptionsNames.ColumnModel.Formatter.SECONDARY, formatterOptions.SecondaryIcon)
                    .AppendJavaScriptObjectFieldClosing();
                }

                jQueryUIButtonFormatterBuilder.AppendJavaScriptObjectClosing();
            }

            if (!String.IsNullOrWhiteSpace(formatterOptions.OnClick))
            {
                jQueryUIButtonFormatterBuilder.AppendFormat(JQUERY_UI_BUTTON_FORMATTER_ON_CLICK, formatterOptions.OnClick);
            }

            jQueryUIButtonFormatterBuilder.Append(JQUERY_UI_BUTTON_FORMATTER_END);

            return(javaScriptBuilder.AppendJavaScriptObjectFunctionField(JqGridOptionsNames.ColumnModel.FORMATTER, jQueryUIButtonFormatterBuilder.ToString()));
        }
 /// <summary>
 /// Initializes a new instance of the JqGridColumnFormatterAttribute class.
 /// </summary>
 /// <param name="formatter">The predefined formatter type ('' delimited string) or custom JavaScript formatting function name.</param>
 public JqGridColumnFormatterAttribute(string formatter)
 {
     if (String.IsNullOrWhiteSpace(formatter))
         throw new ArgumentNullException("formatter");
     Formatter = formatter;
     Options = new JqGridColumnFormatterOptions(formatter);
     PrimaryIcon = String.Empty;
     SecondaryIcon = String.Empty;
     Label = String.Empty;
     Text = true;
 }