public DetachedPublishedProperty(IPublishedPropertyType propertyType, object value) : this(propertyType, value, false) { }
public object ConvertSourceToIntermediate(IPublishedElement owner, IPublishedPropertyType propertyType, object source, bool preview) { // TODO: Implement }
public override Type GetPropertyValueType(IPublishedPropertyType propertyType) => typeof(int);
public void Data_Item_Removed_If_Removed_From_Config() { BlockListPropertyValueConverter editor = CreateConverter(); // The data below expects that ContentKey1 + ContentKey2 + SettingsKey1 + SettingsKey2 exist but only ContentKey2 exists so // the data should all be filtered. var config = new BlockListConfiguration { Blocks = new[] { new BlockListConfiguration.BlockConfiguration { ContentElementTypeKey = _contentKey2, SettingsElementTypeKey = null } } }; IPublishedPropertyType propertyType = GetPropertyType(config); IPublishedElement publishedElement = Mock.Of <IPublishedElement>(); string json = @" { layout: { '" + Constants.PropertyEditors.Aliases.BlockList + @"': [ { 'contentUdi': 'umb://element/1304E1DDAC87439684FE8A399231CB3D', 'settingsUdi': 'umb://element/1F613E26CE274898908A561437AF5100' }, { 'contentUdi': 'umb://element/0A4A416E547D464FABCC6F345C17809A', 'settingsUdi': 'umb://element/63027539B0DB45E7B70459762D4E83DD' } ] }, contentData: [ { 'contentTypeKey': '" + _contentKey1 + @"', 'udi': 'umb://element/1304E1DDAC87439684FE8A399231CB3D' }, { 'contentTypeKey': '" + _contentKey2 + @"', 'udi': 'umb://element/E05A034704424AB3A520E048E6197E79' }, { 'contentTypeKey': '" + _contentKey2 + @"', 'udi': 'umb://element/0A4A416E547D464FABCC6F345C17809A' } ], settingsData: [ { 'contentTypeKey': '" + _settingKey1 + @"', 'udi': 'umb://element/63027539B0DB45E7B70459762D4E83DD' }, { 'contentTypeKey': '" + _settingKey2 + @"', 'udi': 'umb://element/1F613E26CE274898908A561437AF5100' }, { 'contentTypeKey': '" + _settingKey2 + @"', 'udi': 'umb://element/BCF4BA3DA40C496C93EC58FAC85F18B9' } ], }"; var converted = editor.ConvertIntermediateToObject(publishedElement, propertyType, PropertyCacheLevel.None, json, false) as BlockListModel; Assert.IsNotNull(converted); Assert.AreEqual(1, converted.Count); BlockListItem item0 = converted[0]; Assert.AreEqual(Guid.Parse("0A4A416E-547D-464F-ABCC-6F345C17809A"), item0.Content.Key); Assert.AreEqual("Test2", item0.Content.ContentType.Alias); Assert.IsNull(item0.Settings); }
public Type GetPropertyValueType(IPublishedPropertyType propertyType) { // TODO: Change Type here return(typeof(string)); }
public static bool IsNested(IPublishedPropertyType publishedProperty) { return(publishedProperty.EditorAlias.InvariantEquals(Constants.PropertyEditors.Aliases.NestedContent)); }
public void Convert_Valid_Empty_Json() { BlockListPropertyValueConverter editor = CreateConverter(); BlockListConfiguration config = ConfigForMany(); IPublishedPropertyType propertyType = GetPropertyType(config); IPublishedElement publishedElement = Mock.Of <IPublishedElement>(); string json = "{}"; var converted = editor.ConvertIntermediateToObject(publishedElement, propertyType, PropertyCacheLevel.None, json, false) as BlockListModel; Assert.IsNotNull(converted); Assert.AreEqual(0, converted.Count); json = @"{ layout: {}, data: []}"; converted = editor.ConvertIntermediateToObject(publishedElement, propertyType, PropertyCacheLevel.None, json, false) as BlockListModel; Assert.IsNotNull(converted); Assert.AreEqual(0, converted.Count); // Even though there is a layout, there is no data, so the conversion will result in zero elements in total json = @" { layout: { '" + Constants.PropertyEditors.Aliases.BlockList + @"': [ { 'contentUdi': 'umb://element/e7dba547615b4e9ab4ab2a7674845bc9' } ] }, contentData: [] }"; converted = editor.ConvertIntermediateToObject(publishedElement, propertyType, PropertyCacheLevel.None, json, false) as BlockListModel; Assert.IsNotNull(converted); Assert.AreEqual(0, converted.Count); // Even though there is a layout and data, the data is invalid (missing required keys) so the conversion will result in zero elements in total json = @" { layout: { '" + Constants.PropertyEditors.Aliases.BlockList + @"': [ { 'contentUdi': 'umb://element/e7dba547615b4e9ab4ab2a7674845bc9' } ] }, contentData: [ { 'udi': 'umb://element/e7dba547615b4e9ab4ab2a7674845bc9' } ] }"; converted = editor.ConvertIntermediateToObject(publishedElement, propertyType, PropertyCacheLevel.None, json, false) as BlockListModel; Assert.IsNotNull(converted); Assert.AreEqual(0, converted.Count); // Everthing is ok except the udi reference in the layout doesn't match the data so it will be empty json = @" { layout: { '" + Constants.PropertyEditors.Aliases.BlockList + @"': [ { 'contentUdi': 'umb://element/1304E1DDAC87439684FE8A399231CB3D' } ] }, contentData: [ { 'contentTypeKey': '" + _contentKey1 + @"', 'key': '1304E1DD-0000-4396-84FE-8A399231CB3D' } ] }"; converted = editor.ConvertIntermediateToObject(publishedElement, propertyType, PropertyCacheLevel.None, json, false) as BlockListModel; Assert.IsNotNull(converted); Assert.AreEqual(0, converted.Count); }
public override object?ConvertSourceToIntermediate(IPublishedElement owner, IPublishedPropertyType propertyType, object?source, bool preview) { return(source?.ToString()); }
public override Type GetPropertyValueType(IPublishedPropertyType propertyType) => typeof(IEnumerable <PartialViewMacroModel>);
public override bool IsConverter(IPublishedPropertyType propertyType) => propertyType.EditorAlias.InvariantEquals(Constants.PropertyEditors.Aliases.MemberGroupPicker);
public override bool IsConverter(IPublishedPropertyType propertyType) => Aliases.Contains(propertyType.EditorAlias);
/// <summary> /// Determines whether the property type is invariant. /// </summary> /// <param name="propertyType">The property type.</param> /// <returns> /// A value indicating whether the property type is invariant. /// </returns> public static bool VariesByNothing(this IPublishedPropertyType propertyType) => propertyType.Variations.VariesByNothing();
/// <summary> /// Determines whether the property type varies by culture and segment. /// </summary> /// <param name="propertyType">The property type.</param> /// <returns> /// A value indicating whether the property type varies by culture and segment. /// </returns> public static bool VariesByCultureAndSegment(this IPublishedPropertyType propertyType) => propertyType.Variations.VariesByCultureAndSegment();
public bool IsConverter(IPublishedPropertyType propertyType) { return(propertyType.EditorAlias.Equals("Umbraco.CheckBoxList")); }
public override PropertyCacheLevel GetPropertyCacheLevel(IPublishedPropertyType propertyType) => PropertyCacheLevel.Snapshot;
public override object ConvertIntermediateToObject(IPublishedElement owner, IPublishedPropertyType propertyType, PropertyCacheLevel referenceCacheLevel, object inter, bool preview) { if (inter is IEnumerable <MacroPickerModel> items) { return(items.Select(x => new PartialViewMacroModel(default, default, x.Alias, x.Name, x.Parameters)).ToList());
public override bool IsConverter(IPublishedPropertyType propertyType) => Constants.PropertyEditors.Aliases.Decimal.Equals(propertyType.EditorAlias);
public override bool IsConverter(IPublishedPropertyType propertyType) => "Articulate.MarkdownEditor" == propertyType.EditorAlias;
public static bool IsNestedMany(IPublishedPropertyType publishedProperty) { return(IsNested(publishedProperty) && !IsNestedSingle(publishedProperty)); }
public override bool IsConverter(IPublishedPropertyType propertyType) => propertyType.EditorAlias.InvariantEquals(IconPickerDataEditor.DataEditorAlias);
public void Get_Data_From_Layout_Item() { BlockListPropertyValueConverter editor = CreateConverter(); BlockListConfiguration config = ConfigForMany(); IPublishedPropertyType propertyType = GetPropertyType(config); IPublishedElement publishedElement = Mock.Of <IPublishedElement>(); string json = @" { layout: { '" + Constants.PropertyEditors.Aliases.BlockList + @"': [ { 'contentUdi': 'umb://element/1304E1DDAC87439684FE8A399231CB3D', 'settingsUdi': 'umb://element/1F613E26CE274898908A561437AF5100' }, { 'contentUdi': 'umb://element/0A4A416E547D464FABCC6F345C17809A', 'settingsUdi': 'umb://element/63027539B0DB45E7B70459762D4E83DD' } ] }, contentData: [ { 'contentTypeKey': '" + _contentKey1 + @"', 'udi': 'umb://element/1304E1DDAC87439684FE8A399231CB3D' }, { 'contentTypeKey': '" + _contentKey2 + @"', 'udi': 'umb://element/E05A034704424AB3A520E048E6197E79' }, { 'contentTypeKey': '" + _contentKey2 + @"', 'udi': 'umb://element/0A4A416E547D464FABCC6F345C17809A' } ], settingsData: [ { 'contentTypeKey': '" + _settingKey1 + @"', 'udi': 'umb://element/63027539B0DB45E7B70459762D4E83DD' }, { 'contentTypeKey': '" + _settingKey2 + @"', 'udi': 'umb://element/1F613E26CE274898908A561437AF5100' }, { 'contentTypeKey': '" + _settingKey2 + @"', 'udi': 'umb://element/BCF4BA3DA40C496C93EC58FAC85F18B9' } ], }"; var converted = editor.ConvertIntermediateToObject(publishedElement, propertyType, PropertyCacheLevel.None, json, false) as BlockListModel; Assert.IsNotNull(converted); Assert.AreEqual(2, converted.Count); BlockListItem item0 = converted[0]; Assert.AreEqual(Guid.Parse("1304E1DD-AC87-4396-84FE-8A399231CB3D"), item0.Content.Key); Assert.AreEqual("Test1", item0.Content.ContentType.Alias); Assert.AreEqual(Guid.Parse("1F613E26CE274898908A561437AF5100"), item0.Settings.Key); Assert.AreEqual("Setting2", item0.Settings.ContentType.Alias); BlockListItem item1 = converted[1]; Assert.AreEqual(Guid.Parse("0A4A416E-547D-464F-ABCC-6F345C17809A"), item1.Content.Key); Assert.AreEqual("Test2", item1.Content.ContentType.Alias); Assert.AreEqual(Guid.Parse("63027539B0DB45E7B70459762D4E83DD"), item1.Settings.Key); Assert.AreEqual("Setting1", item1.Settings.ContentType.Alias); }
public bool IsConverter(IPublishedPropertyType propertyType) { return(propertyType.EditorAlias.Equals("Dragonfly.CssOverridePicker")); }
public bool IsConverter(IPublishedPropertyType propertyType) { // TODO: Change alias here return(propertyType.EditorAlias.Equals("ORGANISATION_ALIAS.EDITOR_ALIAS")); }
public Type GetPropertyValueType(IPublishedPropertyType propertyType) { return(typeof(string)); }
public PropertyCacheLevel GetPropertyCacheLevel(IPublishedPropertyType propertyType) { return(PropertyCacheLevel.Element); }
public override bool IsConverter(IPublishedPropertyType propertyType) => propertyType.EditorAlias.Equals(Core.Constants.PropertyEditors.Aliases.MediaPicker3);
public object ConvertIntermediateToObject(IPublishedElement owner, IPublishedPropertyType propertyType, PropertyCacheLevel referenceCacheLevel, object inter, bool preview) { // TODO: Implement }
public override Type GetPropertyValueType(IPublishedPropertyType propertyType) => IsMultipleDataType(propertyType.DataType) ? typeof(IEnumerable <MediaWithCrops>) : typeof(MediaWithCrops);
public override PropertyCacheLevel GetPropertyCacheLevel(IPublishedPropertyType propertyType) => PropertyCacheLevel.Element;
public override bool IsConverter(IPublishedPropertyType propertyType) { return(propertyType.EditorAlias.Equals("Vokseverk.AddressEditor")); }