Пример #1
0
        public override object ConvertSourceToObject(PublishedPropertyType propertyType, object source, bool preview)
        {
            if (source == null)
            {
                return(string.Empty);
            }
            SelectedIcon icon = null;

            if (source is JObject)
            {
                icon = ((JObject)source).ToObject <SelectedIcon>();
            }
            else
            {
                try
                {
                    icon = JsonConvert.DeserializeObject <SelectedIcon>(source.ToString());
                }
                catch
                {
                    // Unexpected source object type
                    LogHelper.Warn <IconicValueConverter>($"Could not convert {nameof(source)} from {source.GetType()} to SelectedIcon");
                }
            }
            if (icon == null)
            {
                return(string.Empty);
            }

            var packages = new ConfiguredPackagesCollection(propertyType);

            var pckg = packages[icon.PackageId];

            if (icon == null || pckg == null)
            {
                return(string.Empty);
            }

            var display = pckg.FrontendTemplate.Replace("{icon}", icon.Icon);

            return(new HtmlString(display));
        }
Пример #2
0
 public IconicValueConverter(IDataTypeService dataTypeService)
 {
     _configuredPackages = new ConfiguredPackagesCollection(dataTypeService);
 }