Exemplo n.º 1
0
        protected override DriverResult Editor(ContentPart part, ReferenceField field, IUpdateModel updater, dynamic shapeHelper)
        {
            var viewModel = new ReferenceFieldViewModel();

            if (updater.TryUpdateModel(viewModel, GetPrefix(field, part), null, null))
            {
                var settings = field.PartFieldDefinition.Settings.GetModel <ReferenceFieldSettings>();

                if (settings.Required && viewModel.ContentId <= 0)
                {
                    updater.AddModelError(GetPrefix(field, part), T("The field {0} is mandatory.", T(field.DisplayName)));
                }
                field.Value = viewModel.ContentId;
            }
            return(Editor(part, field, shapeHelper));
        }
Exemplo n.º 2
0
        protected override DriverResult Editor(ContentPart part, ReferenceField field, dynamic shapeHelper)
        {
            var settings = field.PartFieldDefinition.Settings.GetModel <ReferenceFieldSettings>();

            var contentItems = _projectionManager.GetContentItems(settings.QueryId)
                               .Select(c => new SelectListItem {
                Text     = Services.ContentManager.GetItemMetadata(c).DisplayText,
                Value    = c.Id.ToString(CultureInfo.InvariantCulture),
                Selected = field.Value == c.Id
            }).ToList();

            var model = new ReferenceFieldViewModel {
                ContentId = field.Value,
                Field     = field,
                ItemList  = new SelectList(contentItems, "Value", "Text", field.Value)
            };

            return(ContentShape("Fields_Reference_Edit", GetDifferentiator(field, part),
                                () => shapeHelper.EditorTemplate(TemplateName: TemplateName, Model: model, Prefix: GetPrefix(field, part))));
        }