/// <summary>
        /// Converts the specified <paramref name="token"/> into an instance of <see cref="IGridControlValue"/>.
        /// </summary>
        /// <param name="control">The parent control.</param>
        /// <param name="token">The instance of <see cref="JToken"/> representing the control value.</param>
        /// <param name="value">The converted value.</param>
        public virtual bool ConvertControlValue(GridControl control, JToken token, out IGridControlValue value)
        {
            value = null;

            switch (control.Editor.Alias)
            {
            case "media":
                value = GridControlMediaValue.Parse(control, token as JObject);
                break;

            case "embed":
                value = GridControlEmbedValue.Parse(control, token);
                break;

            case "rte":
                value = GridControlRichTextValue.Parse(control, token);
                break;

            case "macro":
                value = GridControlMacroValue.Parse(control, token as JObject);
                break;

            case "headline":
            case "quote":
                value = GridControlTextValue.Parse(control, token);
                break;
            }

            return(value != null);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Converts the specified <paramref name="token"/> into an instance of <see cref="IGridControlValue"/>.
        /// </summary>
        /// <param name="control">The parent control.</param>
        /// <param name="token">The instance of <see cref="JToken"/> representing the control value.</param>
        /// <param name="value">The converted value.</param>
        public override bool ConvertControlValue(GridControl control, JToken token, out IGridControlValue value)
        {
            value = null;

            if (IsEmbedEditor(control.Editor))
            {
                value = new GridControlEmbedValue(control, token);
            }
            else if (IsMacroEditor(control.Editor))
            {
                value = new GridControlMacroValue(control, token as JObject);
            }
            else if (IsMediaEditor(control.Editor))
            {
                value = ParseGridControlMediaValue(control, token as JObject);
            }
            else if (IsRichTextEditor(control.Editor))
            {
                value = new GridControlRichTextValue(control, token);
            }
            else if (IsTextStringEditor(control.Editor))
            {
                value = new GridControlTextValue(control, token);
            }

            return(value != null);
        }