à lire: README.md et Features.md

* README.md: mise à jour des priorités

* Global.asax.cs: Fixe un 404 Not Found sur le script
  d'internationalisation.

* YavscAjaxHelper.cs: Fixe un 404 Not Found sur le script
  d'internationalisation:
Implementation d'une alternative à Ajax.GlobalisationScript() de Mono
  System.Web.MVC

* App.master: utilise la nouvelle methode pour construire les
  references aux scripts d'internationalisation
This commit is contained in:
Paul Schneider 2015-12-01 12:04:12 +01:00
commit eee67fa62e
6 changed files with 82 additions and 7 deletions

View file

@ -98,6 +98,7 @@ namespace Yavsc
AreaRegistration.RegisterAllAreas ();
WebApiConfig.Register (GlobalConfiguration.Configuration);
RegisterRoutes (RouteTable.Routes);
AjaxHelper.GlobalizationScriptPath = "~/Scripts/globalize";
}
/// <summary>

View file

@ -1,3 +1,17 @@
2015-12-01 Paul Schneider <paul@pschneider.fr>
* Global.asax.cs: Fixe un 404 Not Found sur le script
d'internationalisation.
* YavscAjaxHelper.cs: Fixe un 404 Not Found sur le script
d'internationalisation:
Implementation d'une alternative à Ajax.GlobalisationScript()
de Mono System.Web.MVC
* App.master: utilise la nouvelle methode pour construire les
references aux scripts d'internationalisation
2015-11-30 Paul Schneider <paul@pschneider.fr>
* p8-av4.jpg:

View file

@ -25,6 +25,9 @@ using Yavsc.Model.Messaging;
using System.Runtime.Serialization.Json;
using System.IO;
using System.Text;
using System.Globalization;
using System.Diagnostics.CodeAnalysis;
using System.Web;
namespace Yavsc.Helpers
{
@ -47,7 +50,47 @@ namespace Yavsc.Helpers
new Notification { body = QuoteJavascriptString((string)message),
click_action = click_action } ) ;
}
/// <summary>
/// Globalizations the script.
/// </summary>
/// <returns>The script.</returns>
/// <param name="ajaxHelper">Ajax helper.</param>
public static MvcHtmlString YaGlobalizationScript(this AjaxHelper ajaxHelper)
{
return YaGlobalizationScript(ajaxHelper, CultureInfo.CurrentCulture);
}
/// <summary>
/// Globalizations the script.
/// </summary>
/// <returns>The script.</returns>
/// <param name="ajaxHelper">Ajax helper.</param>
/// <param name="cultureInfo">Culture info.</param>
[SuppressMessage("Microsoft.Usage", "CA1801:ReviewUnusedParameters", MessageId = "ajaxHelper", Justification = "This is an extension method")]
public static MvcHtmlString YaGlobalizationScript(this AjaxHelper ajaxHelper, CultureInfo cultureInfo)
{
return YaGlobalizationScriptHelper(AjaxHelper.GlobalizationScriptPath, cultureInfo);
}
internal static MvcHtmlString YaGlobalizationScriptHelper(string scriptPath, CultureInfo cultureInfo)
{
if (cultureInfo == null)
{
throw new ArgumentNullException("cultureInfo");
}
// references the global script :
TagBuilder tagBuilder = new TagBuilder("script");
tagBuilder.MergeAttribute("type", "text/javascript");
string src = VirtualPathUtility.AppendTrailingSlash(scriptPath) + "globalize.js";
tagBuilder.MergeAttribute("src", VirtualPathUtility.ToAbsolute (src));
TagBuilder tagCurrentBuilder = new TagBuilder("script");
string srccurrent = VirtualPathUtility.AppendTrailingSlash(scriptPath) + "cultures/globalize.culture." + HttpUtility.UrlEncode(cultureInfo.Name) + ".js";
tagCurrentBuilder.MergeAttribute("src", VirtualPathUtility.ToAbsolute (srccurrent));
string html = tagBuilder.ToString(TagRenderMode.Normal)+tagCurrentBuilder.ToString(TagRenderMode.Normal);
return new MvcHtmlString(html);
}
/// <summary>
/// Quotes the javascript string.
/// </summary>

View file

@ -27,7 +27,7 @@ var apiBaseUrl = '<%=Url.Content(Yavsc.WebApiConfig.UrlPrefixRelative)%>';
$('[data-type="rate-bill"]').rate({target: 'Blogs/Rate'});
});
</script>
<%=Ajax.GlobalizationScript()%>
<%=Ajax.YaGlobalizationScript()%>
<script src="<%=Url.Content("~/Scripts/yavsc.js")%>"></script>
<script src="<%=Url.Content("~/Scripts/yavsc.tags.js")%>"></script>
<script src="<%=Url.Content("~/Scripts/yavsc.rate.js")%>"></script>