コード例 #1
0
        public override IEnumerable<TemplateViewModel> TypePartEditorUpdate(ContentTypePartDefinitionBuilder builder, IUpdateModel updateModel)
        {
            if (builder.Name != "ContentWidgetsPart")
                yield break;

            var viewModel = new ContentWidgetsViewModel();
            updateModel.TryUpdateModel(viewModel, Prefix, null, null);

            var attachedWidgetIds = viewModel.Widgets.Where(widget => widget.IsAttached).Select(widget => widget.Id);

            builder.WithSetting("ContentWidgetsTypePartSettings.AttachedWidgetIdsDefinition", IdSerializer.SerializeIds(attachedWidgetIds));

            yield return DefinitionTemplate(viewModel, "ContentWidgetsTypePartSettings", Prefix);
        }
コード例 #2
0
        public override IEnumerable<TemplateViewModel> TypePartEditor(ContentTypePartDefinition definition)
        {
            if (definition.PartDefinition.Name != "ContentWidgetsPart")
                yield break;

            var settings = definition.Settings.GetModel<ContentWidgetsTypePartSettings>();

            var attachedWidgetIds = IdSerializer.DeserializeIds(settings.AttachedWidgetIdsDefinition);

            var viewModel = new ContentWidgetsViewModel();
            viewModel.Widgets = (from widget in _widgetService.GetWidgets()
                                 select new ContentWidget
                                 {
                                     Id = widget.Id,
                                     Title = widget.Title,
                                     IsAttached = attachedWidgetIds.Contains(widget.Id)
                                 }).ToList();

            yield return DefinitionTemplate(viewModel, "ContentWidgetsTypePartSettings", Prefix);
        }