Пример #1
0
        public bool TryGet(IModelDefinition modelDefinition, IFieldDefinition fieldDefinition, out IFieldView <IRenderContext> fieldView)
        {
            fieldView = null;

            if (modelDefinition.Identifier == nameof(Movie) && fieldDefinition.Identifier == nameof(Movie.RelatedMovieKeys))
            {
                fieldView = new ControlFieldView <RelatedMoviesFieldEditor>(fieldDefinition, new RelatedMoviesFieldEditor(new RelatedMoviesViewModel(navigator, library)));
            }
            else if (fieldDefinition.Identifier == "Country")
            {
                fieldView = new ComboBoxFieldEditor <string>(fieldDefinition, GetCountries());
            }
            else if (fieldDefinition.Identifier == "Category")
            {
                fieldView = new ComboBoxFieldEditor <string>(fieldDefinition, GetCategories());
            }
            else if (fieldDefinition.FieldType == typeof(DateTime))
            {
                fieldView = new DateFieldEditor(fieldDefinition);
            }
            else if (fieldDefinition.FieldType == typeof(string))
            {
                fieldView = new StringFieldEditor(fieldDefinition);
            }
            else if (fieldDefinition.FieldType == typeof(int) || fieldDefinition.FieldType == typeof(int?))
            {
                fieldView = new Int32FieldEditor(fieldDefinition);
            }

            return(fieldView != null);
        }
Пример #2
0
        public void Should_not_add_error_if_inline_editing_is_allowed_for_editor(StringFieldEditor editor)
        {
            var sut = new StringFieldProperties {
                InlineEditable = true, Editor = editor, AllowedValues = ImmutableList.Create("Value")
            };

            var errors = FieldPropertiesValidator.Validate(sut).ToList();

            Assert.Empty(errors);
        }
Пример #3
0
        public void Should_add_error_if_inline_editing_is_not_allowed_for_editor(StringFieldEditor editor)
        {
            var sut = new StringFieldProperties {
                InlineEditable = true, Editor = editor, AllowedValues = ImmutableList.Create("Value")
            };

            var errors = FieldPropertiesValidator.Validate(sut).ToList();

            errors.Should().BeEquivalentTo(
                new List <ValidationError>
            {
                new ValidationError("Inline editing is only allowed for dropdowns, slugs and input fields.", "InlineEditable", "Editor")
            });
        }