コード例 #1
0
        public override async Task <IDisplayResult> UpdateAsync(ContentTypePartDefinition contentTypePartDefinition, UpdateTypePartEditorContext context)
        {
            if (!String.Equals(nameof(BagPart), contentTypePartDefinition.PartDefinition.Name))
            {
                return(null);
            }

            var model = new BagPartSettingsViewModel();

            await context.Updater.TryUpdateModelAsync(model, Prefix, m => m.ContainedContentTypes, m => m.DisplayType);

            if (model.ContainedContentTypes == null || model.ContainedContentTypes.Length == 0)
            {
                context.Updater.ModelState.AddModelError(nameof(model.ContainedContentTypes), S["At least one content type must be selected."]);
            }
            else
            {
                context.Builder.WithSettings(new BagPartSettings
                {
                    ContainedContentTypes = model.ContainedContentTypes,
                    DisplayType           = model.DisplayType
                });
            }

            return(Edit(contentTypePartDefinition, context.Updater));
        }
コード例 #2
0
        public override async Task <IDisplayResult> UpdateAsync(ContentTypePartDefinition contentTypePartDefinition, UpdateTypePartEditorContext context)
        {
            if (!String.Equals(nameof(BagPart), contentTypePartDefinition.PartDefinition.Name))
            {
                return(null);
            }

            var model = new BagPartSettingsViewModel();

            await context.Updater.TryUpdateModelAsync(model, Prefix, m =>
                                                      m.ContainedContentTypes,
                                                      m => m.DisplayType,
                                                      m => m.Classes,
                                                      m => m.Display,
                                                      m => m.Direction,
                                                      m => m.Wrap,
                                                      m => m.JustifyContent,
                                                      m => m.AlignItems,
                                                      m => m.AlignContent,
                                                      m => m.EnableWidgetsPicker,
                                                      m => m.EnableContentBlocksPicker,
                                                      m => m.ContentBlocksLibraryAliasId,
                                                      m => m.Stereotype
                                                      );

            if (model.ContainedContentTypes == null || model.ContainedContentTypes.Length == 0)
            {
                context.Updater.ModelState.AddModelError(nameof(model.ContainedContentTypes), S["At least one content type must be selected."]);
            }
            else
            {
                context.Builder.WithSettings(new BagPartSettings
                {
                    ContainedContentTypes       = model.ContainedContentTypes,
                    DisplayType                 = model.DisplayType,
                    EnableWidgetsPicker         = model.EnableWidgetsPicker,
                    EnableContentBlocksPicker   = model.EnableContentBlocksPicker,
                    ContentBlocksLibraryAliasId = model.ContentBlocksLibraryAliasId,
                    Stereotype        = model.Stereotype,
                    ContainerSettings = new ContainerSettings()
                    {
                        Classes        = model.Classes,
                        Display        = model.Display,
                        Direction      = model.Direction,
                        Wrap           = model.Wrap,
                        JustifyContent = model.JustifyContent,
                        AlignContent   = model.AlignContent,
                        AlignItems     = model.AlignItems
                    }
                });
            }

            return(Edit(contentTypePartDefinition, context.Updater));
        }