Example #1
0
        private BaseMediaTagHelper CreateInnerTagHelper(TagHelperContext context, TagHelperOutput output)
        {
            BaseMediaTagHelper tagHelper = null;

            if (File.File.MediaType == MediaType.Image)
            {
                output.TagName = "img";
                tagHelper      = _tagHelperFactory.CreateTagHelper <ImageTagHelper>(ViewContext);
            }
            else if (ImageQuery?.NeedsProcessing() == true)
            {
                tagHelper = _tagHelperFactory.CreateTagHelper <ThumbnailTagHelper>(ViewContext);
            }
            else if (File.File.MediaType == MediaType.Video)
            {
                output.TagName = "video";
                tagHelper      = _tagHelperFactory.CreateTagHelper <VideoTagHelper>(ViewContext);
            }
            else if (File.File.MediaType == MediaType.Audio)
            {
                output.TagName = "audio";
                tagHelper      = _tagHelperFactory.CreateTagHelper <AudioTagHelper>(ViewContext);
            }

            if (tagHelper != null)
            {
                tagHelper.Init(context);

                tagHelper.Id          = Id;
                tagHelper.File        = File;
                tagHelper.FileId      = FileId;
                tagHelper.Host        = Host;
                tagHelper.Src         = Src;
                tagHelper.Initialized = Initialized;

                if (tagHelper is BaseImageTagHelper imgTagHelper)
                {
                    imgTagHelper.Model          = Model;
                    imgTagHelper.ImageQuery     = ImageQuery;
                    imgTagHelper.AnchorPosition = AnchorPosition;
                    imgTagHelper.Height         = Height;
                    imgTagHelper.NoFallback     = NoFallback;
                    imgTagHelper.ResizeMode     = ResizeMode;
                    imgTagHelper.Size           = Size;
                    imgTagHelper.Width          = Width;
                }
            }

            return(tagHelper);
        }
Example #2
0
 public static ITagHelper CreateTagHelper(ITagHelperFactory tagHelperFactory, ViewContext viewContext)
 {
     return(tagHelperFactory.CreateTagHelper <T>(viewContext));
 }