Ejemplo n.º 1
0
        /// <summary>
        /// This is where you implment the simple aspects of rendering your control.  The rest
        /// will be handled by calling RenderControlHelper's RenderControl() method.
        /// </summary>
        /// <param name="writer">The writer.</param>
        public void RenderBaseControl(HtmlTextWriter writer)
        {
            writer.AddAttribute("class", "imageupload-group");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute("class", "imageupload-thumbnail");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            if (BinaryFileId != null)
            {
                _imgThumbnail.ImageUrl = "~/GetImage.ashx?id=" + BinaryFileId.ToString() + "&width=50";
                _aRemove.Style[HtmlTextWriterStyle.Display] = "inline";
            }
            else
            {
                _imgThumbnail.ImageUrl = "/Assets/Images/no-picture.svg";
                _aRemove.Style[HtmlTextWriterStyle.Display] = "none";
            }

            _imgThumbnail.RenderControl(writer);

            _hfBinaryFileId.RenderControl(writer);
            _hfBinaryFileTypeGuid.RenderControl(writer);

            writer.RenderEndTag();

            writer.AddAttribute("class", "imageupload-remove");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            _aRemove.RenderControl(writer);

            writer.RenderEndTag();

            writer.AddAttribute("class", "imageupload-dropzone");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.RenderBeginTag(HtmlTextWriterTag.Span);
            writer.Write("drop / click to upload");
            writer.RenderEndTag();

            _fileUpload.Attributes["name"] = string.Format("{0}[]", this.ID);
            _fileUpload.RenderControl(writer);
            writer.RenderEndTag();

            writer.RenderEndTag();
        }
Ejemplo n.º 2
0
        /// <summary>
        /// This is where you implement the simple aspects of rendering your control.  The rest
        /// will be handled by calling RenderControlHelper's RenderControl() method.
        /// </summary>
        /// <param name="writer">The writer.</param>
        public void RenderBaseControl(HtmlTextWriter writer)
        {
            writer.AddAttribute("id", this.ClientID);
            writer.AddAttribute("class", "image-editor-group imageupload-group");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute("class", "image-editor-photo");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.Write(@"
                <div class='js-upload-progress' style='display:none'>
                    <i class='fa fa-refresh fa-3x fa-spin'></i>
                </div>");

            string backgroundImageFormat = "<div class='image-container' id='{0}' style='background-image:url({1});background-size:cover;background-position:50%'></div>";
            string imageDivHtml          = "";

            if (BinaryFileId != null)
            {
                imageDivHtml = string.Format(backgroundImageFormat, this.ClientID + "_divPhoto", this.ResolveUrl("~/GetImage.ashx?id=" + BinaryFileId.ToString() + "&width=150"));
            }
            else
            {
                imageDivHtml = string.Format(backgroundImageFormat, this.ClientID + "_divPhoto", this.NoPictureUrl);
            }

            writer.Write(imageDivHtml);
            writer.WriteLine();

            if (string.IsNullOrEmpty(ButtonCssClass))
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "options");
            }
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            // We only show the Modal/Editor if the delete button is enabled and
            // we have a file already.
            if (ShowDeleteButton && (BinaryFileId ?? 0) > 0)
            {
                _lbShowModal.Style[HtmlTextWriterStyle.Display]   = string.Empty;
                _lbUploadImage.Style[HtmlTextWriterStyle.Display] = "none";
            }
            else
            {
                _lbShowModal.Style[HtmlTextWriterStyle.Display]   = "none";
                _lbUploadImage.Style[HtmlTextWriterStyle.Display] = string.Empty;
            }

            _lbShowModal.RenderControl(writer);
            _lbUploadImage.Text     = this.ButtonText;
            _lbUploadImage.CssClass = this.ButtonCssClass;
            _lbUploadImage.Attributes["onclick"] = "return false;";
            _lbUploadImage.RenderControl(writer);

            // render the circle check status for when save happens
            writer.WriteLine();
            _lSaveStatus.RenderControl(writer);

            // Don't render the _aRemove control if there is no BinaryFile to remove.
            if (BinaryFileId != null)
            {
                writer.WriteLine();
                _aRemove.RenderControl(writer);
            }

            writer.WriteLine();
            writer.RenderEndTag();
            writer.WriteLine();

            _hfBinaryFileId.RenderControl(writer);
            writer.WriteLine();
            _hfOriginalBinaryFileId.RenderControl(writer);
            writer.WriteLine();
            _hfCropBinaryFileId.RenderControl(writer);
            writer.WriteLine();
            _hfBinaryFileTypeGuid.RenderControl(writer);
            writer.WriteLine();

            writer.AddAttribute("class", "image-editor-fileinput");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            _fileUpload.Attributes["name"] = string.Format("{0}[]", this.ID);
            _fileUpload.RenderControl(writer);
            writer.RenderEndTag();
            writer.WriteLine();

            writer.RenderEndTag(); // image-editor-photo
            writer.WriteLine();

            writer.RenderEndTag(); // image-editor-group

            _mdImageDialog.RenderControl(writer);

            RegisterStartupScript();
        }
Ejemplo n.º 3
0
        /// <summary>
        /// This is where you implement the simple aspects of rendering your control.  The rest
        /// will be handled by calling RenderControlHelper's RenderControl() method.
        /// </summary>
        /// <param name="writer">The writer.</param>
        public void RenderBaseControl(HtmlTextWriter writer)
        {
            writer.AddAttribute("id", this.ClientID);
            writer.AddAttribute("class", "imageupload-group");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);


            writer.AddAttribute("style", String.Format("width: {0}px; height: {1}px;", this.ThumbnailWidth, this.ThumbnailHeight));
            writer.AddAttribute("class", "imageupload-thumbnail");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            string thumbnailImageUrl = this.NoPictureUrl;

            if (IsBinaryFile && BinaryFileId.HasValue)
            {
                thumbnailImageUrl = System.Web.VirtualPathUtility.ToAbsolute("~/GetImage.ashx?id=" + BinaryFileId.ToString());
                _aRemove.Style[HtmlTextWriterStyle.Display] = "block";

                writer.AddAttribute(HtmlTextWriterAttribute.Href, thumbnailImageUrl);
                writer.AddAttribute(HtmlTextWriterAttribute.Target, "_blank");
                writer.RenderBeginTag(HtmlTextWriterTag.A);

                thumbnailImageUrl += "&width=500";
            }
            else if (NonBinaryFileSrc.IsNotNullOrWhiteSpace())
            {
                string physicalFile = this.Page.Request.MapPath(NonBinaryFileSrc);
                if (File.Exists(physicalFile))
                {
                    thumbnailImageUrl = System.Web.VirtualPathUtility.ToAbsolute(NonBinaryFileSrc);
                    _aRemove.Style[HtmlTextWriterStyle.Display] = "block";
                }
                else
                {
                    _aRemove.Style[HtmlTextWriterStyle.Display] = "none";
                }
            }
            else
            {
                _aRemove.Style[HtmlTextWriterStyle.Display] = "none";
            }

            writer.AddAttribute("style", string.Format("background-image: url({0});", thumbnailImageUrl));
            writer.AddAttribute("class", "imageupload-thumbnail-image");
            writer.AddAttribute("id", this.ClientID + "-thumbnail");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            writer.RenderEndTag();

            if (BinaryFileId != null)
            {
                writer.RenderEndTag();
            }

            _hfBinaryFileId.RenderControl(writer);
            _hfBinaryFileTypeGuid.RenderControl(writer);
            _hfContentFileSource.RenderControl(writer);

            writer.AddAttribute("class", "imageupload-remove");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            _aRemove.RenderControl(writer);

            writer.RenderEndTag();

            writer.RenderEndTag();

            writer.Write(@"
                <div class='js-upload-progress upload-progress' style='display:none'>
                    <i class='fa fa-refresh fa-3x fa-spin'></i>                    
                </div>");

            writer.AddAttribute("class", "imageupload-dropzone");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.RenderBeginTag(HtmlTextWriterTag.Span);
            writer.Write("Upload");
            writer.RenderEndTag();

            _fileUpload.Attributes["name"] = string.Format("{0}[]", this.ID);
            _fileUpload.RenderControl(writer);
            writer.RenderEndTag();

            RegisterStartupScript();

            writer.RenderEndTag();
        }
Ejemplo n.º 4
0
        /// <summary>
        /// This is where you implment the simple aspects of rendering your control.  The rest
        /// will be handled by calling RenderControlHelper's RenderControl() method.
        /// </summary>
        /// <param name="writer">The writer.</param>
        public void RenderBaseControl(HtmlTextWriter writer)
        {
            writer.AddAttribute("id", this.ClientID);
            writer.AddAttribute("class", "imageupload-group");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);


            writer.AddAttribute("style", String.Format("width: {0}px; height: {1}px;", this.ThumbnailWidth, this.ThumbnailHeight));
            writer.AddAttribute("class", "imageupload-thumbnail");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            string thumbnailImage = this.NoPictureUrl;

            if (BinaryFileId != null)
            {
                thumbnailImage = System.Web.VirtualPathUtility.ToAbsolute("~/GetImage.ashx?id=" + BinaryFileId.ToString() + "&width=500");
                _aRemove.Style[HtmlTextWriterStyle.Display] = "block";
            }
            else
            {
                _aRemove.Style[HtmlTextWriterStyle.Display] = "none";
            }

            writer.AddAttribute("style", string.Format("background-image: url({0});", thumbnailImage));
            writer.AddAttribute("class", "imageupload-thumbnail-image");
            writer.AddAttribute("id", this.ClientID + "-thumbnail");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            writer.RenderEndTag();

            _hfBinaryFileId.RenderControl(writer);
            _hfBinaryFileTypeGuid.RenderControl(writer);

            writer.AddAttribute("class", "imageupload-remove");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            _aRemove.RenderControl(writer);

            writer.RenderEndTag();

            writer.RenderEndTag();

            writer.Write(@"
                <div class='js-upload-progress upload-progress' style='display:none'>
                    <i class='fa fa-refresh fa-3x fa-spin'></i>                    
                </div>");

            writer.AddAttribute("class", "imageupload-dropzone");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.RenderBeginTag(HtmlTextWriterTag.Span);
            writer.Write("Upload");
            writer.RenderEndTag();

            _fileUpload.Attributes["name"] = string.Format("{0}[]", this.ID);
            _fileUpload.RenderControl(writer);
            writer.RenderEndTag();

            RegisterStartupScript();

            writer.RenderEndTag();
        }