Exemplo n.º 1
0
        public static string RenderAsLink(this EntityDTO dto, int id, string name, RenderOption option)
        {
            StringBuilder html = new StringBuilder();

            html.Append(string.Format("<a class=\"obvious-link\" href=\"Default.aspx?id={0}\">{1}</a>", id, dto.RenderHTML(name, option)));
            return(html.ToString());
        }
Exemplo n.º 2
0
        public static string RenderDetailAsLink(this EntityDTO dto, string name, RenderOption option)
        {
            StringBuilder html = new StringBuilder();

            html.Append(string.Format("<a class=\"obvious-link\" onclick=\"getDetailAjax({0},'{1}');\">{2}</a>", dto.ID, dto.RenderHTML(name, option), dto.RenderHTML(name, option)));
            return(html.ToString());
        }
Exemplo n.º 3
0
        public string Render(CommandDiskSourceProvider sourceProvider, RenderOption option, RenderContext context, string baseRelativeUrl)
        {
            if (paras.Count() > 0)
            {
                // load js, only accept one para, the relative url.
                var relativeurl = paras.First();

                if (!string.IsNullOrWhiteSpace(relativeurl))
                {
                    relativeurl = ServerHelper.EnsureRelative(relativeurl, baseRelativeUrl);

                    var response = ServerEngine.RenderJs(sourceProvider, option, context, relativeurl);
                    if (response != null)
                    {
                        if (response.Body != null)
                        {
                            return(response.Body);
                        }
                        else if (response.BinaryBytes != null)
                        {
                            string text = System.Text.Encoding.UTF8.GetString(response.BinaryBytes);
                            return(text);
                        }
                    }
                }
            }
            return(string.Empty);
        }
Exemplo n.º 4
0
        //TODO: Revisit
        public static string RenderAsLink(this EntityDTO dto, string label, int id, RenderOption option)
        {
            StringBuilder html = new StringBuilder();

            html.Append(string.Format("<a class=\"obvious-link\" href='Default.aspx?id={0}'>{1}</a>", id, label));
            return(html.ToString());
        }
Exemplo n.º 5
0
 public static bool LocalserverTryShouldHandle(RenderContext Context, RenderOption Options)
 {
     if (Context.WebSite != null && !string.IsNullOrEmpty(Context.WebSite.LocalRootPath))
     {
         return(true);
     }
     return(false);
 }
Exemplo n.º 6
0
        //

        public void StrictRender(ushort x, ushort y, RenderOption option, PointerAdvance outmode)
        {
            if ((RenderOption.Full & option) == RenderOption.Full || matrix[x, y].Glyph != memory[x, y].Glyph ||
                matrix[x, y].Fore.ARGB != memory[x, y].Fore.ARGB || matrix[x, y].Back.ARGB != memory[x, y].Back.ARGB)
            {
                RenderChixel(x, y, option, outmode);
            }
        }
Exemplo n.º 7
0
        public void Move(Point2D delta, RenderOption option, FillMode fill, MapMode effect)
        {
            double dx = Math.Abs(delta.X);
            double dy = Math.Abs(delta.Y);

            // use delta.X / |delta.X| = delta.X / dx = +/-1 to keep the sign of delta.X
            if (dx > dy)
            {
                for (ushort x = 0; x < dx; x++)
                {
                    // to exclude x = 0
                    if (x % AUTO_REBOX_TRIG == (ushort)(AUTO_REBOX_TRIG / (x + 1)))
                    {
                        Render(ALLOW_REBOXING | option, fill, effect);
                        Rebox();
                    }
                    // prevent artifacts
                    Render(option, fill, effect);
                    Translate(new Point2D(X_MOTION_SCALE * delta.X / dx,
                                          ((x % (dx / dy) > 0) && (x % (dx / dy) <= 1)) ? Y_MOTION_SCALE * delta.Y / dy : NO_MOTION));
                }
            }
            else if (dy > dx)
            {
                for (ushort y = 0; y < dy; y++)
                {
                    // to exclude y = 0
                    if (y % AUTO_REBOX_TRIG == (ushort)(AUTO_REBOX_TRIG / (y + 1)))
                    {
                        Render(ALLOW_REBOXING | option, fill, effect);
                        Rebox();
                    }
                    // prevent artifacts
                    Render(option, fill, effect);
                    Translate(new Point2D(((y % (dy / dx) > 0) && (y % (dy / dx) <= 1)) ?
                                          X_MOTION_SCALE * delta.X / dx : NO_MOTION, Y_MOTION_SCALE * delta.Y / dy));
                }
            }
            // dx == dy
            else
            {
                for (ushort i = 0; i < dx; i++)
                {
                    // to exclude i = 0
                    if (i % AUTO_REBOX_TRIG == (ushort)(AUTO_REBOX_TRIG / (i + 1)))
                    {
                        Render(ALLOW_REBOXING | option, fill, effect);
                        Rebox();
                    }
                    // prevent artifacts
                    Render(option, fill, effect);
                    Translate(new Point2D(delta.X / dx, delta.Y / dy));
                }
            }
            // really this should just be Render(ALLOW_REBOXING, effect);
            Render(ALLOW_REBOXING | option, fill, effect);
        }
Exemplo n.º 8
0
        private static string GetText(RenderContext context, RenderOption option, string RelativeUrl, string FullFileName)
        {
            Guid   key  = Lib.Security.Hash.ComputeGuidIgnoreCase(FullFileName);
            string text = null;

            if (option.StartPath != null)
            {
                if (option.StartPath.Contains("_admin"))
                {
#if DEBUG
                    {
                        text = System.IO.File.ReadAllText(FullFileName);
                        key  = Lib.Security.Hash.ComputeHashGuid(text);
                    }
#endif
                }
                else
                {
                    text = System.IO.File.ReadAllText(FullFileName);
                    key  = Lib.Security.Hash.ComputeHashGuid(text);
                }
            }
            else
            {
                text = System.IO.File.ReadAllText(FullFileName);
                key  = Lib.Security.Hash.ComputeHashGuid(text);
            }


            if (option.EnableMultilingual)
            {
                string htmlbody = Kooboo.Data.Cache.MultiLingualRender.GetHtml(context, key);
                if (htmlbody == null)
                {
                    if (text == null)
                    {
                        text = File.ReadAllText(FullFileName);
                    }
                    htmlbody = Kooboo.Data.Cache.MultiLingualRender.SetGetHtml(context, key, text);
                }
                return(htmlbody);
            }
            else
            {
                if (text == null)
                {
                    text = Kooboo.Data.Cache.RenderCache.GetHtml(key);
                    if (text == null)
                    {
                        text = File.ReadAllText(FullFileName);
                    }
                    Kooboo.Data.Cache.RenderCache.SetHtml(key, text);
                }
                return(text);
            }
        }
Exemplo n.º 9
0
        private static RenderOption KoobooLolcaServerOption()
        {
            RenderOption option = new RenderOption();

            option.GetDiskRoot     = LocalServerRoot;
            option.ShouldTryHandle = LocalserverTryShouldHandle;
            option.ViewFolder      = "view";
            option.LayoutFolder    = "_layout";
            return(option);
        }
Exemplo n.º 10
0
        /// <summary>
        /// Renders into a href.
        /// </summary>
        /// <param name="id">Property name.</param>
        /// <param name="option">Render option.</param>
        /// <param name="isPopup"></param>
        /// <returns>The html markup for the link.</returns>
        public static string RenderHTMLAsAnchor(this EntityDTO dto, string id, RenderOption option, bool isPopup)
        {
            string html = dto.RenderHTML(id, RenderOption.None);
            string additionalProperty = string.Empty;

            if (isPopup)
            {
                additionalProperty = "target=\"_blank\"";
            }
            return(string.Format("<a class=\"obvious-link\"  href=\"{0}\" {1}>{2}</a>", html, additionalProperty, html));
        }
Exemplo n.º 11
0
 public void Render(RenderOption option, FillMode fill, MapMode effect)
 {
     if (effect == MapMode.None)
     {
         StrictRender(option, fill);
     }
     else
     {
         MapRender(option, fill, effect);
     }
 }
Exemplo n.º 12
0
 public string Render(CommandDiskSourceProvider sourceProvider, RenderOption option, RenderContext context, string baseRelativeUrl)
 {
     if (content != null)
     {
         return(content);
     }
     if (paras.Count() > 0)
     {
         return(paras[0]);
     }
     return(null);
 }
        public string RenderHTML(string id, RenderOption option)
        {
            List <string> values = GetPropertyList(id);

            if (values != null && values.Count > 0)
            {
                StringBuilder html = new StringBuilder();
                for (int i = 0; i < values.Count; i++)
                {
                    if (!string.IsNullOrEmpty(values[i]))
                    {
                        string template = string.Empty;

                        switch (option)
                        {
                        case RenderOption.List:
                            template = "<li>{0}</li>";
                            break;

                        case RenderOption.Paragraph:
                            template = "<p>{0}</p>";
                            break;

                        case RenderOption.Span:
                            template = "<span>{0}</span>";
                            break;

                        case RenderOption.Break:
                            template = "{0}<br>";
                            break;

                        case RenderOption.None:
                            template = "{0}";
                            break;

                        case RenderOption.NewLine:
                            template = string.Concat("{0}", Environment.NewLine);
                            break;

                        default:
                            break;
                        }

                        html.Append(string.Format(template, values[i]));
                    }
                }
                return(html.ToString());
            }
            return(string.Empty);
        }
Exemplo n.º 14
0
        private static RenderOption KoobooBackEndViewOption()
        {
            RenderOption option = new RenderOption();

            option.GetDiskRoot    = GetRoot;
            option.StartPath      = "/_admin";
            option.ViewFolder     = "view";
            option.LayoutFolder   = "_layout";
            option.RequireUser    = true;
            option.LoginPage      = "/_admin/account/login";
            option.PageAfterLogin = "******";
            option.RequireUserIgnorePath.Add("/_admin/account");
            option.RequireUserIgnorePath.Add("/_admin/scripts");
            option.RequireUserIgnorePath.Add("/_admin/styles");
            option.RequireUserIgnorePath.Add("/_admin/images");
            //option.RequireUserIgnorePath.Add(Kooboo.DataConstants.Default404Page);
            //option.RequireUserIgnorePath.Add(Kooboo.DataConstants.Default403Page);
            //option.RequireUserIgnorePath.Add(Kooboo.DataConstants.Default500Page);
            option.RequireUserIgnorePath.Add("/_admin/logo");
            option.RequireUserIgnorePath.Add("/_admin/error");
            option.RequireUserIgnorePath.Add("/_admin/kbtest");
            option.RequireUserIgnorePath.Add("/_admin/development/kscript");
            option.RequireUserIgnorePath.Add("/_admin/development/kview");

            option.RequireSpeicalSite = true;
            Dictionary <string, object> data = new Dictionary <string, object>();
            var value = Kooboo.Data.Language.LanguageSetting.CmsLangs;

            List <CmsLanguage> langvalue = new List <CmsLanguage>();

            foreach (var item in value)
            {
                langvalue.Add(new CmsLanguage()
                {
                    Key = item.Key, Name = item.Value
                });
            }

            data.Add("cmslang", langvalue);
            data.Add("kooboosetting", Kooboo.Data.Helper.SettingHelper.GetKoobooSetting());

            option.InitData = data;

            option.EnableMultilingual = true;
            option.EnableRenderCache  = true;
            option.MultilingualJsFile = "scripts/kooboo/text.js";

            return(option);
        }
Exemplo n.º 15
0
        public string Render(CommandDiskSourceProvider sourceProvider, RenderOption option, RenderContext context, string baseRelativeUrl)
        {
            string fulltext = null;

            if (paras.Count() > 0)
            {
                // load js, only accept one para, the relative url.
                var relativeurl = paras.First();

                if (!string.IsNullOrWhiteSpace(relativeurl))
                {
                    relativeurl = ServerHelper.EnsureRelative(relativeurl, baseRelativeUrl);

                    var root = sourceProvider.GetRoot(context);

                    var folder = Lib.Helper.IOHelper.CombinePath(root, relativeurl);

                    if (System.IO.Directory.Exists(folder))
                    {
                        var allfiles = System.IO.Directory.GetFiles(folder, "*.*", System.IO.SearchOption.TopDirectoryOnly);

                        foreach (var item in allfiles)
                        {
                            if (item.ToLower().EndsWith(".js"))
                            {
                                string itemrelative = item.Substring(root.Length);

                                itemrelative = itemrelative.Replace("\\", "/");

                                var response = ServerEngine.RenderJs(sourceProvider, option, context, itemrelative);
                                if (response != null)
                                {
                                    if (response.Body != null)
                                    {
                                        fulltext += response.Body;
                                    }
                                    else if (response.BinaryBytes != null)
                                    {
                                        string text = System.Text.Encoding.UTF8.GetString(response.BinaryBytes);
                                        fulltext += text;
                                    }
                                }
                            }
                        }
                    }
                }
            }
            return(fulltext);
        }
Exemplo n.º 16
0
        public Task <RenderResult> RenderAsync(IImageProcessor imageProcessor, RenderOption renderOptions = RenderOption.None)
        {
            if (imageProcessor == null)
            {
                throw new ArgumentNullException("imageProcessor");
            }

            m_currentRenderOption = renderOptions;

            lock (m_taskQueueLock)
            {
                var renderTask = m_lastQueuedTask.ContinueWith(_ => RenderInternalAsync(m_source, m_sourceSize, imageProcessor, renderOptions)).Unwrap();
                m_lastQueuedTask = renderTask;
                return(renderTask);
            }
        }
Exemplo n.º 17
0
        private Task <RenderResult> FinishRender(IImageProvider effect, Stopwatch setupStopwatch, RenderOption renderOptions, Size renderSize)
        {
            setupStopwatch.Stop();
            long setupTimeMillis = setupStopwatch.ElapsedMilliseconds;

            m_currentRenderOption = renderOptions;

            if ((renderOptions & RenderOption.RenderToJpeg) == RenderOption.RenderToJpeg)
            {
                return(RenderJpegAsync(effect, renderSize, setupTimeMillis));
            }
            else
            {
                return(RenderSwapChainPanelAsync(effect, renderSize, setupTimeMillis));
            }
        }
Exemplo n.º 18
0
        private static byte[] GetBinary(RenderContext context, RenderOption option, string RelativeUrl, string FullFileName)
        {
            if (option.EnableMultilingual && RelativeUrl.ToLower().EndsWith(option.MultilingualJsFile))
            {
                Guid   key   = Lib.Security.Hash.ComputeGuidIgnoreCase(RelativeUrl);
                byte[] bytes = null;
#if DEBUG
                {
                    bytes = System.IO.File.ReadAllBytes(FullFileName);
                    key   = Lib.Security.Hash.ComputeGuid(bytes);
                }
#endif
                var values = Kooboo.Data.Cache.MultiLingualRender.GetJs(context);
                if (values == null)
                {
                    if (bytes == null)
                    {
                        bytes = System.IO.File.ReadAllBytes(FullFileName);
                    }
                    values = Kooboo.Data.Cache.MultiLingualRender.SetGetJs(context, bytes);
                }
                return(values);
            }
            else
            {
                byte[] result = null;
#if DEBUG
                {
                    result = System.IO.File.ReadAllBytes(FullFileName);
                }
#endif
                if (result == null)
                {
                    Guid key = Kooboo.Lib.Security.Hash.ComputeGuidIgnoreCase(RelativeUrl);
                    result = Kooboo.Data.Cache.RenderCache.GetBinary(key);
                    if (result == null)
                    {
                        result = System.IO.File.ReadAllBytes(FullFileName);
                        Kooboo.Data.Cache.RenderCache.SetBinary(key, result);
                    }
                }
                return(result);
            }
        }
Exemplo n.º 19
0
        public void MapRender(ushort x, ushort y, RenderOption option, PointerAdvance outmode)
        {
            ushort ox = ushort.MaxValue;
            ushort oy = ushort.MaxValue;

            ox = x;
            oy = y;

            x = xmap[ox, oy];
            y = ymap[ox, oy];



            if ((RenderOption.Full & option) == RenderOption.Full || matrix[x, y].Glyph != memory[x, y].Glyph ||
                matrix[x, y].Fore.ARGB != memory[x, y].Fore.ARGB || matrix[x, y].Back.ARGB != memory[x, y].Back.ARGB)
            {
                RenderChixel(x, y, option, outmode);
            }
        }
Exemplo n.º 20
0
        public string Render(CommandDiskSourceProvider sourceProvider, RenderOption option, RenderContext context, string baseRelativeUrl)
        {
            string result = null;

            if (paras.Count() > 1)
            {
                // set html require two paras, one for the variable name, one for the relative url.
                string name        = paras[0];
                var    relativeurl = paras[1];

                string text = null;

                if (!string.IsNullOrEmpty(name) && !string.IsNullOrWhiteSpace(relativeurl))
                {
                    relativeurl = ServerHelper.EnsureRelative(relativeurl, baseRelativeUrl);

                    var response = Kooboo.Render.RenderEngine.RenderHtml(context, option, relativeurl);

                    if (response != null)
                    {
                        if (response.Body != null)
                        {
                            text = response.Body;
                        }
                        else if (response.BinaryBytes != null)
                        {
                            text = System.Text.Encoding.UTF8.GetString(response.BinaryBytes);
                        }
                    }
                }

                if (text != null)
                {
                    text = text.Replace("\"", "\\\"");
                    //html in github will change \r\n to \n
                    text = System.Text.RegularExpressions.Regex.Replace(text, "(?<!\r)\n|\r\n", "\\\r\n");
                }

                result = "var " + name + "=\"" + text + "\"; ";
            }
            return(result);
        }
Exemplo n.º 21
0
        /// <summary>
        ///  Create and initialize the rendering engine.  This method sets all of the configuration settings
        ///  and parses the songs into the initial list of nodes.
        /// </summary>
        /// <param name="song">Song.</param>
        /// <param name="fonts">Fonts.</param>
        /// <param name="appSettings">App settings.</param>
        /// <param name="pageSetup">Page setup.</param>
        /// <param name="forDisplay">If set to <c>true</c> for display.</param>
        public RenderEngine(SongData song, AppSettings appSettings, PageSetup pageSetup, RenderOption renderOption)
        {
            _song         = song;
            _renderOption = renderOption;
            _appSettings  = appSettings;

            #region Page Setup
            _pageSettings.PaperHeight = pageSetup.GetPaperHeight(Unit.Pixel);
            _pageSettings.PaperWidth  = pageSetup.GetPaperWidth(Unit.Pixel);
            _pageSettings.PageHeight  = pageSetup.GetPageHeight(Unit.Pixel);
            _pageSettings.PageWidth   = pageSetup.GetPageWidth(Unit.Pixel);
            _pageSettings.TopMargin   = pageSetup.GetTopMargin(Unit.Pixel);
            _pageSettings.LeftMargin  = pageSetup.GetLeftMargin(Unit.Pixel);

            _paperHeight = Convert.ToInt32((long)_pageSettings.PaperHeight);
            _paperWidth  = Convert.ToInt32((long)_pageSettings.PaperWidth);
            #endregion

            ParseSong(_song);
        }
Exemplo n.º 22
0
        public string Render(CommandDiskSourceProvider sourceProvider, RenderOption option, RenderContext context, string baseRelativeUrl)
        {
            if (paras.Count() > 1)
            {
                string varname     = paras[0];
                var    relativeurl = paras[1];

                if (!string.IsNullOrWhiteSpace(varname) && !string.IsNullOrWhiteSpace(relativeurl))
                {
                    string scriptHeader = "if (typeof " + varname + " === \"undefined\" ) { " + varname + "= {};  } \r\n";

                    string body = string.Empty;

                    relativeurl = ServerHelper.EnsureRelative(relativeurl, baseRelativeUrl);

                    RenderFiles(sourceProvider, option, context, varname, relativeurl, ref scriptHeader, ref body);

                    return(scriptHeader + "\r\n" + body);
                }
            }
            return(null);
        }
Exemplo n.º 23
0
        public static string RenderServerSide(string source, string rootfolder, RenderContext context, string BaseRelativeUrl)
        {
            Func <RenderContext, string> rootfun = (contextx) =>
            {
                return(rootfolder);
            };

            var tasks = Kooboo.Render.ServerSide.ServerEngine.GetJsRenderPlan(source);

            RenderOption option = new RenderOption();

            option.GetDiskRoot = rootfun;

            CommandDiskSourceProvider sourceprvoider = new CommandDiskSourceProvider(option);


            string result = string.Empty;

            foreach (var task in tasks)
            {
                result += task.Render(sourceprvoider, option, context, BaseRelativeUrl);
            }
            return(result);
        }
Exemplo n.º 24
0
 public void Render_Graphics(int id, string filename, int pagenum, int width, int height, RenderOption options)
 {
     using (var src = new DocumentRenderer(GetSource(filename)))
         using (var bmp = new Bitmap(width, height))
             using (var gs = Graphics.FromImage(bmp))
             {
                 src.RenderOption = options;
                 src.Render(gs, src.GetPage(pagenum));
                 bmp.Save(Get($"{nameof(Render_Graphics)}-{id:D3}.png"), ImageFormat.Png);
             }
 }
Exemplo n.º 25
0
 public void Render(int id, string filename, int pagenum, int width, int height, RenderOption options)
 {
     using (var src = new DocumentRenderer(GetSource(filename)))
     {
         src.RenderOption = options;
         using (var bmp = src.Render(src.GetPage(pagenum)))
         {
             Assert.That(bmp.Width, Is.EqualTo(width));
             Assert.That(bmp.Height, Is.EqualTo(height));
             bmp.Save(Get($"{nameof(Render)}-{id:D3}.png"), ImageFormat.Png);
         }
     }
 }
Exemplo n.º 26
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BitmapSourceConverter"/> class.
 /// </summary>
 /// <param name="renderOptions">The AsciiArtRenderOptions used for conversion.</param>
 /// <param name="drawingMode">The DrawingMode used for creating the output.</param>
 public BitmapSourceConverter(RenderOption renderOptions, DrawingMode drawingMode) : base(renderOptions, drawingMode, true)
 {
 }
		public Task<RenderResult> RenderAsync(IImageProcessor imageProcessor, RenderOption renderOptions = RenderOption.None)
        {
            if (imageProcessor == null)
            {
                throw new ArgumentNullException("imageProcessor");
            }

            m_currentRenderOption = renderOptions;

            lock (m_taskQueueLock)
            {
                var renderTask = m_lastQueuedTask.ContinueWith(_ => RenderInternalAsync(m_source, m_sourceSize, imageProcessor, renderOptions)).Unwrap();
                m_lastQueuedTask = renderTask;
                return renderTask;
            }
        }
        private Task<RenderResult> RenderInternalAsync(IImageProvider source, Size sourceSize, IImageProcessor processor, RenderOption renderOptions)
        {
            if (source == null)
            {
                throw new NullReferenceException("source");
            }

            processor.OnBeforeRender();
            var renderAtSourceSize = (renderOptions & RenderOption.RenderAtSourceSize) == RenderOption.RenderAtSourceSize;

            var renderSize = processor.CanRenderAtPreviewSize && !renderAtSourceSize ? PreviewSize : sourceSize;

            Debug.WriteLine(string.Format("RenderEffectAsync {0} sourceSize = {1}, renderSize = {2}", processor.Name,
                sourceSize, renderSize));

            var stopwatch = Stopwatch.StartNew();

            var effect = processor.GetEffectAsync(source, sourceSize, renderSize);

            if (effect.IsSynchronous)
            {
                return FinishRender(effect.Result, stopwatch, renderOptions, renderSize);
            }
            else
            {
                return effect.Task.ContinueWith(effectTask => FinishRender(effectTask.Result, stopwatch, renderOptions, renderSize), TaskContinuationOptions.OnlyOnRanToCompletion).Unwrap();
            }
        }
        private Task<RenderResult> FinishRender(IImageProvider effect, Stopwatch setupStopwatch, RenderOption renderOptions, Size renderSize)
        {
            setupStopwatch.Stop();
            long setupTimeMillis = setupStopwatch.ElapsedMilliseconds;

            m_currentRenderOption = renderOptions;

            if ((renderOptions & RenderOption.RenderToJpeg) == RenderOption.RenderToJpeg)
            {
                return RenderJpegAsync(effect, renderSize, setupTimeMillis);
            }
            else
            {
                return RenderSwapChainPanelAsync(effect, renderSize, setupTimeMillis);
            }
        }
        public string RenderHTML(string id, RenderOption option)
        {
            List<string> values = GetPropertyList(id);

            if (values != null && values.Count > 0)
            {
                StringBuilder html = new StringBuilder();
                for (int i = 0; i < values.Count; i++)
                {
                    if (!string.IsNullOrEmpty(values[i]))
                    {
                        string template = string.Empty;

                        switch (option)
                        {
                            case RenderOption.List:
                                template = "<li>{0}</li>";
                                break;
                            case RenderOption.Paragraph:
                                template = "<p>{0}</p>";
                                break;
                            case RenderOption.Span:
                                template = "<span>{0}</span>";
                                break;
                            case RenderOption.Break:
                                template = "{0}<br>";
                                break;
                            case RenderOption.None:
                                template = "{0}";
                                break;
                            case RenderOption.NewLine:
                                template = string.Concat("{0}", Environment.NewLine);
                                break;
                            default:
                                break;
                        }

                        html.Append(string.Format(template, values[i]));
                    }
                }
                return html.ToString();
            }
            return string.Empty;
        }
 /// <summary>
 /// Renders into a href.
 /// </summary>
 /// <param name="id">Property name.</param>
 /// <param name="option">Render option.</param>
 /// <param name="isPopup"></param>
 /// <returns>The html markup for the link.</returns>
 public static string RenderHTMLAsAnchor(this EntityDTO dto, string id, RenderOption option, bool isPopup)
 {
     string html = dto.RenderHTML(id, RenderOption.None);
     string additionalProperty = string.Empty;
     if (isPopup)
     {
         additionalProperty = "target=\"_blank\"";
     }
     return string.Format("<a class=\"obvious-link\"  href=\"{0}\" {1}>{2}</a>", html, additionalProperty, html);
 }
 /// <summary>
 /// Renders into a href.
 /// </summary>
 /// <param name="id">Property name.</param>
 /// <param name="option">Render option.</param>
 /// <returns>The html markup for the link.</returns>
 public static string RenderHTMLAsAnchor(this EntityDTO dto, string id, RenderOption option)
 {
     string html = dto.RenderHTML(id, RenderOption.None);
     return string.Format("<a  class=\"obvious-link\"  href=\"{0}\" >{1}</a>", html, html);
 }
Exemplo n.º 33
0
 public CommandDiskSourceProvider(RenderOption option)
 {
     this.option = option;
 }
 public static string RenderAsLink(this EntityDTO dto, int id, string name, RenderOption option)
 {
     StringBuilder html = new StringBuilder();
     html.Append(string.Format("<a class=\"obvious-link\" href=\"Default.aspx?id={0}\">{1}</a>", id, dto.RenderHTML(name, option)));
     return html.ToString();
 }
Exemplo n.º 35
0
        private Task <RenderResult> RenderInternalAsync(IImageProvider source, Size sourceSize, IImageProcessor processor, RenderOption renderOptions)
        {
            if (source == null)
            {
                throw new NullReferenceException("source");
            }

            processor.OnBeforeRender();
            var renderAtSourceSize = (renderOptions & RenderOption.RenderAtSourceSize) == RenderOption.RenderAtSourceSize;

            var renderSize = processor.CanRenderAtPreviewSize && !renderAtSourceSize ? PreviewSize : sourceSize;

            Debug.WriteLine(string.Format("RenderEffectAsync {0} sourceSize = {1}, renderSize = {2}", processor.Name,
                                          sourceSize, renderSize));

            var stopwatch = Stopwatch.StartNew();

            var effect = processor.GetEffectAsync(source, sourceSize, renderSize);

            if (effect.IsSynchronous)
            {
                return(FinishRender(effect.Result, stopwatch, renderOptions, renderSize));
            }
            else
            {
                return(effect.Task.ContinueWith(effectTask => FinishRender(effectTask.Result, stopwatch, renderOptions, renderSize), TaskContinuationOptions.OnlyOnRanToCompletion).Unwrap());
            }
        }
Exemplo n.º 36
0
 public DefaultStartMiddleWare(RenderOption options)
 {
     this.options = options;
 }
 //TODO: Revisit
 public static string RenderAsLink(this EntityDTO dto, string label, int id, RenderOption option)
 {
     StringBuilder html = new StringBuilder();
     html.Append(string.Format("<a class=\"obvious-link\" href='Default.aspx?id={0}'>{1}</a>", id, label));
     return html.ToString();
 }
Exemplo n.º 38
0
        private void RenderFiles(CommandDiskSourceProvider sourceProvider, RenderOption option, RenderContext context, string varname, string relativePath, ref string ScriptHeader, ref string Body)
        {
            var root = sourceProvider.GetRoot(context);

            var folder = Lib.Helper.IOHelper.CombinePath(root, relativePath);

            if (System.IO.Directory.Exists(folder))
            {
                var allfiles = System.IO.Directory.GetFiles(folder, "*.*", System.IO.SearchOption.TopDirectoryOnly);

                foreach (var item in allfiles.OrderBy(o => o))
                {
                    if (item.ToLower().EndsWith(".js"))
                    {
                        string itemrelative = item.Substring(root.Length);

                        itemrelative = itemrelative.Replace("\\", "/");

                        var response = ServerEngine.RenderJs(sourceProvider, option, context, itemrelative);
                        if (response != null)
                        {
                            string text = null;

                            if (response.Body != null)
                            {
                                text = response.Body;
                            }
                            else if (response.BinaryBytes != null)
                            {
                                text = System.Text.Encoding.UTF8.GetString(response.BinaryBytes);
                            }

                            var functionlist = Lib.Helper.JintHelper.ListFunctions(text);

                            foreach (var func in functionlist)
                            {
                                if (func.Value != null && func.Value.Count > 0)
                                {
                                    ScriptHeader += varname + "." + func.Key + "=" + func.Key + ";\r\n";
                                }
                                else
                                {
                                    ScriptHeader += varname + "." + func.Key + "=" + func.Key + "(); \r\n";
                                }
                            }
                            Body += "\r\n\r\n" + text;
                        }
                    }
                }

                var allfolders = System.IO.Directory.GetDirectories(folder);

                foreach (var item in allfolders.OrderBy(o => o))
                {
                    string name = item;
                    if (name.ToLower().StartsWith(folder.ToLower()))
                    {
                        name = name.Substring(folder.Length);
                    }

                    if (name.StartsWith("/") || name.StartsWith("\\"))
                    {
                        name = name.Substring(1);
                    }

                    if (name.ToLower().StartsWith("kbtest"))
                    {
                        continue;
                    }

                    string subvarname = varname + "." + name;

                    ScriptHeader += "if (typeof " + subvarname + " === \"undefined\" ) { " + subvarname + "= {};  } \r\n";

                    string subpath = Kooboo.Lib.Compatible.CompatibleManager.Instance.System.CombineRelativePath(relativePath, name);

                    RenderFiles(sourceProvider, option, context, subvarname, subpath, ref ScriptHeader, ref Body);
                }
            }
        }
 public static string RenderDetailAsLink(this EntityDTO dto, string name, RenderOption option)
 {
     StringBuilder html = new StringBuilder();
     html.Append(string.Format("<a class=\"obvious-link\" onclick=\"getDetailAjax({0},'{1}');\">{2}</a>", dto.ID, dto.RenderHTML(name, option), dto.RenderHTML(name, option)));
     return html.ToString();
 }