private void BuildViewModel(AliasPartViewModel model, AliasPart part, AliasPartSettings settings) { model.Alias = part.Alias; model.AliasPart = part; model.ContentItem = part.ContentItem; model.Settings = settings; }
private void BuildViewModel(AliasPartViewModel model, AliasPart part) { var settings = GetAliasPartSettings(part); model.Alias = part.Alias; model.AliasPart = part; model.Settings = settings; }
private Task BuildViewModel(AliasPartViewModel model, AliasPart part) { var settings = GetAliasPartSettings(part); model.Alias = part.Alias; model.AliasPart = part; model.Settings = settings; return(Task.CompletedTask); }
public async override Task UpdatedAsync(UpdateContentContext context, AliasPart part) { // Compute the Alias only if it's empty if (!String.IsNullOrEmpty(part.Alias)) { return; } var pattern = GetPattern(part); if (!String.IsNullOrEmpty(pattern)) { var model = new AliasPartViewModel() { Alias = part.Alias, AliasPart = part, ContentItem = part.ContentItem }; part.Alias = await _liquidTemplateManager.RenderAsync(pattern, NullEncoder.Default, model, scope => scope.SetValue("ContentItem", model.ContentItem)); part.Alias = part.Alias.Replace("\r", String.Empty).Replace("\n", String.Empty); if (part.Alias?.Length > AliasPartDisplayDriver.MaxAliasLength) { part.Alias = part.Alias.Substring(0, AliasPartDisplayDriver.MaxAliasLength); } if (!await IsAliasUniqueAsync(part.Alias, part)) { part.Alias = await GenerateUniqueAliasAsync(part.Alias, part); } part.Apply(); } }
public async override Task UpdatedAsync(UpdateContentContext context, AliasPart part) { // Compute the Alias only if it's empty if (!String.IsNullOrEmpty(part.Alias)) { return; } var pattern = GetPattern(part); if (!String.IsNullOrEmpty(pattern)) { var model = new AliasPartViewModel() { Alias = part.Alias, AliasPart = part, ContentItem = part.ContentItem }; part.Alias = await _liquidTemplateManager.RenderStringAsync(pattern, NullEncoder.Default, model, new Dictionary <string, FluidValue>() { [nameof(ContentItem)] = new ObjectValue(model.ContentItem) }); part.Alias = part.Alias.Replace("\r", String.Empty).Replace("\n", String.Empty); if (part.Alias?.Length > AliasPart.MaxAliasLength) { part.Alias = part.Alias.Substring(0, AliasPart.MaxAliasLength); } if (!await part.IsAliasUniqueAsync(_session, part.Alias)) { part.Alias = await GenerateUniqueAliasAsync(part.Alias, part); } part.Apply(); } }
public async override Task UpdatedAsync(UpdateContentContext context, AliasPart part) { // Compute the Alias only if it's empty if (!String.IsNullOrEmpty(part.Alias)) { return; } var pattern = GetPattern(part); if (!String.IsNullOrEmpty(pattern)) { var model = new AliasPartViewModel() { Alias = part.Alias, AliasPart = part, ContentItem = part.ContentItem }; var templateContext = new TemplateContext(); templateContext.SetValue("ContentItem", part.ContentItem); templateContext.MemberAccessStrategy.Register <AliasPartViewModel>(); templateContext.SetValue("Model", model); part.Alias = await _liquidTemplateManager.RenderAsync(pattern, NullEncoder.Default, templateContext); part.Alias = part.Alias.Replace("\r", String.Empty).Replace("\n", String.Empty); if (!await IsAliasUniqueAsync(part.Alias, part)) { part.Alias = await GenerateUniqueAliasAsync(part.Alias, part); } part.Apply(); } }