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()); }
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()); }
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); }
//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()); }
public static bool LocalserverTryShouldHandle(RenderContext Context, RenderOption Options) { if (Context.WebSite != null && !string.IsNullOrEmpty(Context.WebSite.LocalRootPath)) { return(true); } return(false); }
// 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); } }
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); }
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); } }
private static RenderOption KoobooLolcaServerOption() { RenderOption option = new RenderOption(); option.GetDiskRoot = LocalServerRoot; option.ShouldTryHandle = LocalserverTryShouldHandle; option.ViewFolder = "view"; option.LayoutFolder = "_layout"; return(option); }
/// <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)); }
public void Render(RenderOption option, FillMode fill, MapMode effect) { if (effect == MapMode.None) { StrictRender(option, fill); } else { MapRender(option, fill, effect); } }
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); }
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); }
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); }
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> 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)); } }
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); } }
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); } }
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); }
/// <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); }
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); }
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); }
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); } }
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); } } }
/// <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); }
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(); }
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()); } }
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(); }
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(); }