Integrating jQuery Calendars and jQuery Calendars Datepicker to enable client-side support for non-gregorian calendars. Integrating jQuery Time Entry to replace jQuery UI TimePicker. Renaming IDateTimeLocalization to IDateTimeFormatProvider and providing two implementations (one using the localization process and one using the already localized strings made available by CultureInfo). Removed duplicated date time editor code from ArchiveLater, PublishLater, Fields and CommonPart, and replaced with new reusable DateTimeEditor editor template.

This commit is contained in:
Daniel Stolt
2014-02-10 23:45:36 +01:00
committed by Sebastien Ros
parent a306759748
commit 2dea8ace03
311 changed files with 17601 additions and 710 deletions

View File

@@ -1,11 +1,14 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="autofac" type="Autofac.Configuration.SectionHandler, Autofac.Configuration"/>
</configSections>
<configSections>
<section name="autofac" type="Autofac.Configuration.SectionHandler, Autofac.Configuration"/>
</configSections>
<autofac defaultAssembly="Orchard.Framework">
</autofac>
<autofac defaultAssembly="Orchard.Framework">
<components>
<component instance-scope="single-instance" type="Orchard.Localization.Services.CultureDateTimeFormatProvider, Orchard.Framework" service="Orchard.Localization.Services.IDateTimeFormatProvider"></component>
</components>
</autofac>
</configuration>

View File

@@ -1,8 +1,8 @@
using System;
using System.Globalization;
using Orchard.ContentManagement;
using Orchard.ContentManagement.Drivers;
using Orchard.Core.Common.Models;
using Orchard.Core.Common.ViewModels;
using Orchard.Localization;
using Orchard.Localization.Services;
@@ -22,7 +22,7 @@ namespace Orchard.Core.Common.DateEditor {
public IOrchardServices Services { get; set; }
protected override string Prefix {
get { return "DateEditor"; }
get { return ""; }
}
protected override DriverResult Editor(CommonPart part, dynamic shapeHelper) {
@@ -39,6 +39,11 @@ namespace Orchard.Core.Common.DateEditor {
"Parts_Common_Date_Edit",
() => {
DateEditorViewModel model = shapeHelper.Parts_Common_Date_Edit(typeof(DateEditorViewModel));
model.Editor = new DateTimeEditor() {
ShowDate = true,
ShowTime = true
};
if (part.CreatedUtc != null) {
// show CreatedUtc only if is has been "touched",
@@ -48,31 +53,31 @@ namespace Orchard.Core.Common.DateEditor {
var thisIsTheInitialVersionRecord = part.ContentItem.Version < 2;
var theDatesHaveNotBeenModified = part.CreatedUtc == part.VersionCreatedUtc;
var theEditorShouldBeBlank =
itemHasNeverBeenPublished &&
thisIsTheInitialVersionRecord &&
var theEditorShouldBeBlank =
itemHasNeverBeenPublished &&
thisIsTheInitialVersionRecord &&
theDatesHaveNotBeenModified;
if (!theEditorShouldBeBlank) {
model.CreatedDate = _dateServices.ConvertToLocalDateString(part.CreatedUtc, "");
model.CreatedTime = _dateServices.ConvertToLocalTimeString(part.CreatedUtc, "");
model.Editor.Date = _dateServices.ConvertToLocalDateString(part.CreatedUtc, "");
model.Editor.Time = _dateServices.ConvertToLocalTimeString(part.CreatedUtc, "");
}
}
if (updater != null) {
updater.TryUpdateModel(model, Prefix, null, null);
if (!String.IsNullOrWhiteSpace(model.CreatedDate) && !String.IsNullOrWhiteSpace(model.CreatedTime)) {
if (!String.IsNullOrWhiteSpace(model.Editor.Date) && !String.IsNullOrWhiteSpace(model.Editor.Time)) {
try {
var utcDateTime = _dateServices.ConvertFromLocalString(model.CreatedDate, model.CreatedTime);
var utcDateTime = _dateServices.ConvertFromLocalString(model.Editor.Date, model.Editor.Time);
part.CreatedUtc = utcDateTime;
part.VersionCreatedUtc = utcDateTime;
}
catch (FormatException) {
updater.AddModelError(Prefix, T("'{0} {1}' could not be parsed as a valid date and time.", model.CreatedDate, model.CreatedTime));
updater.AddModelError(Prefix, T("'{0} {1}' could not be parsed as a valid date and time.", model.Editor.Date, model.Editor.Time));
}
}
else if (!String.IsNullOrWhiteSpace(model.CreatedDate) || !String.IsNullOrWhiteSpace(model.CreatedTime)) {
else if (!String.IsNullOrWhiteSpace(model.Editor.Date) || !String.IsNullOrWhiteSpace(model.Editor.Time)) {
updater.AddModelError(Prefix, T("Both the date and time need to be specified."));
}

View File

@@ -1,8 +1,8 @@
using Orchard.DisplayManagement.Shapes;
using Orchard.Core.Common.ViewModels;
using Orchard.DisplayManagement.Shapes;
namespace Orchard.Core.Common.DateEditor {
public class DateEditorViewModel : Shape {
public virtual string CreatedDate { get; set; }
public virtual string CreatedTime { get; set; }
public virtual DateTimeEditor Editor { get; set; }
}
}

View File

@@ -3,7 +3,8 @@ using Orchard.UI.Resources;
namespace Orchard.Core.Common {
public class ResourceManifest : IResourceManifestProvider {
public void BuildManifests(ResourceManifestBuilder builder) {
builder.Add().DefineStyle("Common_DatePicker").SetUrl("orchard-common-datetime.css");
var manifest = builder.Add();
manifest.DefineStyle("DateTimeEditor").SetUrl("datetime-editor.css");
}
}
}

View File

@@ -36,7 +36,7 @@ namespace Orchard.Core.Common {
if (dateTimeUtc == null)
return T("as a Draft");
return Display.DateTimeRelative(dateTimeUtc: dateTimeUtc);
return Display.DateTimeRelative(DateTimeUtc: dateTimeUtc);
}
}
}

View File

@@ -1,14 +1,14 @@
html.dyn label.forpicker {
display:none;
}
/* todo: (heskew) let themes take care of this */
html.dyn input.hinted {
color:#ccc;
font-style:italic;
}
.date input{
width:10em;
}
.time input {
width:7em;
html.dyn label.forpicker {
display:none;
}
/* todo: (heskew) let themes take care of this */
html.dyn input.hinted {
color:#ccc;
font-style:italic;
}
.date input{
width:10em;
}
.time input {
width:7em;
}

View File

@@ -1,20 +0,0 @@
fieldset.createdutc-datetime {
float:left;
clear:none;
white-space: nowrap;
vertical-align: middle;
}
fieldset.createdutc-datetime legend {
display:none;
}
fieldset.createdutc-datetime input {
padding:1px;
text-align:center;
color:#666;
}
input#DateEditor_CreatedDate {
width:10em;
}
input#DateEditor_CreatedTime {
width:7em;
}

View File

@@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace Orchard.Core.Common.ViewModels {
public class DateTimeEditor {
public string Date { get; set; }
public string Time { get; set; }
public bool ShowDate { get; set; }
public bool ShowTime { get; set; }
}
}

View File

@@ -0,0 +1,18 @@
@model Orchard.Core.Common.ViewModels.DateTimeEditor
@{
Style.Require("DateTimeEditor");
}
@if (Model.ShowDate) {
<label class="forpicker" for="@Html.FieldIdFor(m => Model.Date)">@T("Date")</label>
<span class="date">@Html.EditorFor(m => m.Date)</span>
}
@if (Model.ShowTime) {
<label class="forpicker" for="@Html.FieldIdFor(m => Model.Time)">@T("Time")</label>
<span class="time">@Html.EditorFor(m => m.Time)</span>
}
@if (Model.ShowDate) { <text>@Html.ValidationMessageFor(m => m.Date)</text> }
@if (Model.ShowTime) { <text>@Html.ValidationMessageFor(m => m.Time)</text> }

View File

@@ -1,42 +1,5 @@
@model Orchard.Core.Common.DateEditor.DateEditorViewModel
@{
var DateEditor = Model;
Style.Require("Common_DatePicker");
}
<fieldset class="createdutc-datetime">
@Html.LabelFor(m => DateEditor.CreatedDate, T("Created On"))
<label class="forpicker" for="@Html.FieldIdFor(m => DateEditor.CreatedDate)">@T("Date")</label>
@Html.EditorFor(m => DateEditor.CreatedDate)
<label class="forpicker" for="@Html.FieldIdFor(m => DateEditor.CreatedTime)">@T("Time")</label>
@Html.EditorFor(m => DateEditor.CreatedTime)
<label for="@Html.FieldIdFor(m => Model.Editor.Date)">@T("Created On")</label>
@Html.EditorFor(m => Model.Editor)
</fieldset>
@using(Script.Foot()) {
@* generates the localization script *@
@Display(New.DatePickerLocalization())
@Display(New.TimePickerLocalization())
<script type="text/javascript">
//<![CDATA[
$(function () {
var clearHint = function ($this) { if ($this.val() == $this.data("hint")) { $this.removeClass("hinted").val("") } };
var resetHint = function ($this) { setTimeout(function () { if (!$this.val()) { $this.addClass("hinted").val($this.data("hint")) } }, 300) };
@* todo: (heskew) make a plugin *@
$("label.forpicker").each(function () {
var $this = $(this);
var pickerInput = $("#" + $this.attr("for"));
if (!pickerInput.val()) {
pickerInput.data("hint", $this.text());
pickerInput.addClass("hinted")
.val(pickerInput.data("hint"))
.focus(function() {clearHint($(this));})
.blur(function() {resetHint($(this));});
$this.closest("form").submit(function() {clearHint(pickerInput); pickerInput = 0;});
}
});
$('#@Html.FieldIdFor(m => DateEditor.CreatedDate)').datepicker({ showAnim: "" });
$('#@Html.FieldIdFor(m => DateEditor.CreatedTime)').timepicker({ stepMinute: 5});
})
//]]>
</script>
}

View File

@@ -6,7 +6,7 @@
}
<ul class="pageStatus">
<li>@if (modifiedUtc.HasValue) {
@T("Last modified: {0}", Display.DateTimeRelative(dateTimeUtc: modifiedUtc.Value))}&nbsp;&#124;&nbsp;
@T("Last modified: {0}", Display.DateTimeRelative(DateTimeUtc: modifiedUtc.Value))}&nbsp;&#124;&nbsp;
</li>
<li>@Display.CommonMetadataOwner(ContentPart: Model.ContentPart)</li>
</ul>

View File

@@ -92,6 +92,7 @@
<Compile Include="Common\DateEditor\DateEditorViewModel.cs" />
<Compile Include="Common\Settings\TextFieldSettingsEvents.cs" />
<Compile Include="Common\Settings\TextFieldSettings.cs" />
<Compile Include="Common\ViewModels\DateTimeEditor.cs" />
<Compile Include="Common\ViewModels\TextFieldDriverViewModel.cs" />
<Compile Include="Common\ViewModels\TextFieldSettingsEventsViewModel.cs" />
<Compile Include="Containers\Controllers\ItemController.cs" />
@@ -275,7 +276,7 @@
</ItemGroup>
<ItemGroup>
<Content Include="Common\Module.txt" />
<Content Include="Common\Styles\orchard-common-datetime.css" />
<Content Include="Common\Styles\datetime-editor.css" />
<Content Include="Common\Views\DefinitionTemplates\BodyTypePartSettings.cshtml" />
<Content Include="Common\Views\DefinitionTemplates\BodyPartSettings.cshtml" />
<Content Include="Common\Views\Fields.Common.Text.cshtml" />
@@ -444,11 +445,6 @@
<ItemGroup>
<Content Include="Common\Views\Parts.Common.Date.Edit.cshtml" />
</ItemGroup>
<ItemGroup>
<Content Include="Common\Styles\Web.config">
<SubType>Designer</SubType>
</Content>
</ItemGroup>
<ItemGroup>
<Content Include="Common\Views\DefinitionTemplates\DateEditorSettings.cshtml" />
</ItemGroup>
@@ -553,6 +549,12 @@
<ItemGroup>
<Content Include="Containers\Views\DefinitionTemplates\ContainableTypePartSettings.cshtml" />
</ItemGroup>
<ItemGroup>
<Content Include="Common\Views\EditorTemplates\DateTimeEditor.cshtml" />
</ItemGroup>
<ItemGroup>
<Content Include="Common\Styles\Web.config" />
</ItemGroup>
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>

View File

@@ -12,12 +12,12 @@ namespace Orchard.Core.Shapes {
public class DateTimeShapes : IDependency {
private readonly IClock _clock;
private readonly IDateServices _dateServices;
private readonly IDateTimeLocalization _dateTimeLocalization;
private readonly IDateTimeFormatProvider _dateTimeLocalization;
public DateTimeShapes(
IClock clock,
IDateServices dateServices,
IDateTimeLocalization dateTimeLocalization
IDateTimeFormatProvider dateTimeLocalization
) {
_clock = clock;
_dateServices = dateServices;
@@ -32,7 +32,7 @@ namespace Orchard.Core.Shapes {
var time = _clock.UtcNow - DateTimeUtc;
if (time.TotalDays > 7 || time.TotalDays < -7)
return Display.DateTime(DateTimeUtc: DateTimeUtc, CustomFormat: _dateTimeLocalization.LongDateTimeFormat);
return Display.DateTime(DateTimeUtc: DateTimeUtc, CustomFormat: null);
if (time.TotalHours > 24)
return T.Plural("1 day ago", "{0} days ago", time.Days);
@@ -60,14 +60,14 @@ namespace Orchard.Core.Shapes {
}
[Shape]
public IHtmlString DateTime(DateTime DateTimeUtc, LocalizedString CustomFormat) {
public IHtmlString DateTime(DateTime DateTimeUtc, LocalizedString CustomFormat = null) {
//using a LocalizedString forces the caller to use a localizable format
if (CustomFormat == null || String.IsNullOrWhiteSpace(CustomFormat.Text)) {
return new MvcHtmlString(_dateServices.ConvertToLocalString(DateTimeUtc, _dateTimeLocalization.LongDateTimeFormat.Text));
return new MvcHtmlString(_dateServices.ConvertToLocalString(DateTimeUtc, _dateTimeLocalization.LongDateTimeFormat, null));
}
return new MvcHtmlString(_dateServices.ConvertToLocalString(DateTimeUtc, CustomFormat.Text));
return new MvcHtmlString(_dateServices.ConvertToLocalString(DateTimeUtc, CustomFormat.Text, null));
}
}
}

View File

@@ -6,8 +6,8 @@ using Orchard.ArchiveLater.ViewModels;
using Orchard.ContentManagement;
using Orchard.ContentManagement.Drivers;
using Orchard.ContentManagement.Handlers;
using Orchard.Core.Common.ViewModels;
using Orchard.Localization;
using System.Globalization;
using Orchard.Localization.Services;
namespace Orchard.ArchiveLater.Drivers {
@@ -51,13 +51,14 @@ namespace Orchard.ArchiveLater.Drivers {
}
protected override DriverResult Editor(ArchiveLaterPart part, dynamic shapeHelper) {
var localDate = new Lazy<DateTime>(() => TimeZoneInfo.ConvertTimeFromUtc(part.ScheduledArchiveUtc.Value.Value, Services.WorkContext.CurrentTimeZone));
var model = new ArchiveLaterViewModel(part) {
ScheduledArchiveUtc = part.ScheduledArchiveUtc.Value,
ArchiveLater = part.ScheduledArchiveUtc.Value.HasValue,
ScheduledArchiveDate = _dateServices.ConvertToLocalDateString(part.ScheduledArchiveUtc.Value, ""),
ScheduledArchiveTime = _dateServices.ConvertToLocalTimeString(part.ScheduledArchiveUtc.Value, "")
Editor = new DateTimeEditor() {
ShowDate = true,
ShowTime = true,
Date = _dateServices.ConvertToLocalDateString(part.ScheduledArchiveUtc.Value, ""),
Time = _dateServices.ConvertToLocalTimeString(part.ScheduledArchiveUtc.Value, ""),
}
};
return ContentShape("Parts_ArchiveLater_Edit",
@@ -70,12 +71,11 @@ namespace Orchard.ArchiveLater.Drivers {
if (updater.TryUpdateModel(model, Prefix, null, null)) {
if (model.ArchiveLater) {
try {
var utcDateTime = _dateServices.ConvertFromLocalString(model.ScheduledArchiveDate, model.ScheduledArchiveTime);
model.ScheduledArchiveUtc = utcDateTime;
_archiveLaterService.ArchiveLater(model.ContentItem, model.ScheduledArchiveUtc.HasValue ? model.ScheduledArchiveUtc.Value : DateTime.MaxValue);
var utcDateTime = _dateServices.ConvertFromLocalString(model.Editor.Date, model.Editor.Time);
_archiveLaterService.ArchiveLater(model.ContentItem, utcDateTime.HasValue ? utcDateTime.Value : DateTime.MaxValue);
}
catch (FormatException) {
updater.AddModelError(Prefix, T("'{0} {1}' could not be parsed as a valid date and time.", model.ScheduledArchiveDate, model.ScheduledArchiveTime));
updater.AddModelError(Prefix, T("'{0} {1}' could not be parsed as a valid date and time.", model.Editor.Date, model.Editor.Time));
}
}
else {

View File

@@ -8,4 +8,4 @@ OrchardVersion: 1.7.2
Description: The ArchiveLater module introduces scheduled archiving functionality.
FeatureDescription: Scheduled archiving.
Category: Content
Dependencies: Common, Scheduling, Orchard.jQuery
Dependencies: Common, Scheduling

View File

@@ -70,7 +70,6 @@
<Compile Include="Handlers\UnpublishingTaskHandler.cs" />
<Compile Include="Models\ArchiveLaterPart.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ResourceManifest.cs" />
<Compile Include="Services\ArchiveLaterService.cs" />
<Compile Include="Services\IArchiveLaterService.cs" />
<Compile Include="ViewModels\ArchiveLaterViewModel.cs" />
@@ -78,7 +77,6 @@
<ItemGroup>
<Content Include="Content\Admin\images\scheduled.gif" />
<Content Include="Module.txt" />
<Content Include="Styles\orchard-archivelater-datetime.css" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Core\Orchard.Core.csproj">
@@ -99,11 +97,6 @@
<SubType>Designer</SubType>
</Content>
</ItemGroup>
<ItemGroup>
<Content Include="Styles\Web.config">
<SubType>Designer</SubType>
</Content>
</ItemGroup>
<ItemGroup>
<Content Include="Content\Web.config">
<SubType>Designer</SubType>

View File

@@ -1,9 +0,0 @@
using Orchard.UI.Resources;
namespace Orchard.ArchiveLater {
public class ResourceManifest : IResourceManifestProvider {
public void BuildManifests(ResourceManifestBuilder builder) {
builder.Add().DefineStyle("ArchiveLater_DatePicker").SetUrl("orchard-archivelater-datetime.css");
}
}
}

View File

@@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
</staticContent>
<handlers accessPolicy="Script,Read">
<!--
iis7 - for any request to a file exists on disk, return it via native http module.
accessPolicy 'Script' is to allow for a managed 404 page.
-->
<add name="StaticFile" path="*" verb="*" modules="StaticFileModule" preCondition="integratedMode" resourceType="File" requireAccess="Read" />
</handlers>
</system.webServer>
</configuration>

View File

@@ -1,24 +0,0 @@
html.dyn label.forpicker {
display:none;
}
/* todo: (heskew) let themes take care of this */
html.dyn input.hinted {
color:#ccc;
font-style:italic;
}
input#ArchiveLater_ScheduledArchiveDate {
width:10em;
}
input#ArchiveLater_ScheduledArchiveTime {
width:7em;
}
.edit-item-sidebar fieldset.archive-later-datetime {
float:left;
padding:0 0 8px 0;
}
fieldset.archive-later-datetime input {
padding:1px;
text-align:center;
color:#666;
}

View File

@@ -1,6 +1,7 @@
using System;
using Orchard.ArchiveLater.Models;
using Orchard.ContentManagement;
using Orchard.Core.Common.ViewModels;
namespace Orchard.ArchiveLater.ViewModels {
public class ArchiveLaterViewModel {
@@ -17,10 +18,6 @@ namespace Orchard.ArchiveLater.ViewModels {
get { return ContentItem.VersionRecord != null && ContentItem.VersionRecord.Published; }
}
public DateTime? ScheduledArchiveUtc { get; set; }
public string ScheduledArchiveDate { get; set; }
public string ScheduledArchiveTime { get; set; }
public DateTimeEditor Editor { get; set; }
}
}

View File

@@ -1,46 +1,39 @@
@model Orchard.ArchiveLater.ViewModels.ArchiveLaterViewModel
@using System.Web.Mvc.Html;
@{
Style.Require("ArchiveLater_DatePicker");
}
@using System.Web.Mvc.Html;
@model Orchard.ArchiveLater.ViewModels.ArchiveLaterViewModel
<style type="text/css">
/* TODO: Extract to resource (Decorum). */
.edit-item-sidebar .archive-later-datetime {
margin-bottom: 2em;
}
.edit-item-sidebar .archive-later-datetime legend {
margin-bottom: 0.5em;
}
.edit-item-sidebar .archive-later-datetime div {
margin-bottom: 0.5em;
}
</style>
<fieldset class="archive-later-datetime">
<legend>@T("Archive Settings")</legend>
<div>
@Html.CheckBox("ArchiveLater", Model.ScheduledArchiveUtc.HasValue, new { id = ViewData.TemplateInfo.GetFullHtmlFieldId("Command_ArchiveLater") })
<label class="forcheckbox" for="@ViewData.TemplateInfo.GetFullHtmlFieldId("Command_ArchiveLater")">@T("Archive Later")</label>
</div>
<div>
<label class="forpicker" for="@ViewData.TemplateInfo.GetFullHtmlFieldId("ScheduledArchiveDate")">@T("Date")</label>
@Html.EditorFor(m => m.ScheduledArchiveDate)
<label class="forpicker" for="@ViewData.TemplateInfo.GetFullHtmlFieldId("ScheduledArchiveTime")">@T("Time")</label>
@Html.EditorFor(m => m.ScheduledArchiveTime)
@Html.CheckBoxFor(m => m.ArchiveLater)
<label class="forcheckbox" for="@Html.FieldIdFor(m => m.ArchiveLater)">@T("Archive Later")</label>
</div>
@Html.EditorFor(m => m.Editor)
</fieldset>
@using(Script.Foot()) {
@* generates the localization script *@
@Display(New.DatePickerLocalization())
@Display(New.TimePickerLocalization())
<script type="text/javascript">
//<![CDATA[
$(function () {
//todo: (heskew) make a plugin
$("label.forpicker").each(function () {
var $this = $(this);
var pickerInput = $("#" + $this.attr("for"));
pickerInput.data("hint", $this.text());
if (!pickerInput.val()) {
pickerInput.addClass("hinted")
.val(pickerInput.data("hint"))
.focus(function () { var $this = $(this); if ($this.val() == $this.data("hint")) { $this.removeClass("hinted").val("") } })
.blur(function () { var $this = $(this); setTimeout(function () { if (!$this.val()) { $this.addClass("hinted").val($this.data("hint")) } }, 300) });
}
});
$('#@ViewData.TemplateInfo.GetFullHtmlFieldId("ScheduledArchiveDate")').datepicker({ showAnim: "" }).focus(function () { $('#@ViewData.TemplateInfo.GetFullHtmlFieldId("Command_ArchiveLater")').attr("checked", "checked") });
$('#@ViewData.TemplateInfo.GetFullHtmlFieldId("ScheduledArchiveTime")').timepicker({ stepMinute: 5 }).focus(function () { $('#@ViewData.TemplateInfo.GetFullHtmlFieldId("Command_ArchiveLater")').attr("checked", "checked") });
})
//]]>
</script>
@using(Script.Foot()) {
<script type="text/javascript">
//<![CDATA[
$(function () {
$('#@Html.FieldIdFor(m => m.Editor.Date)').focus(function () { $('#@Html.FieldIdFor(m => m.ArchiveLater)').attr("checked", "checked") });
$('#@Html.FieldIdFor(m => m.Editor.Time)').focus(function () { $('#@Html.FieldIdFor(m => m.ArchiveLater)').attr("checked", "checked") });
})
//]]>
</script>
}

View File

@@ -4,7 +4,7 @@
<ul class="pageStatus">
<li>
<img class="icon" src="@Href("~/Modules/Orchard.ArchiveLater/Content/Admin/images/scheduled.gif")" alt="@T("Scheduled")" title="@T("The page is scheduled for archiving")" />@T("Unpublish on")
@Display.DateTime(DateTimeUtc: (DateTime)Model.ScheduledArchiveUtc, CustomFormat: T("M/d/yyyy h:mm tt"))
@Display.DateTime(DateTimeUtc: (DateTime)Model.ScheduledArchiveUtc, CustomFormat: null)
&nbsp;&#124;&nbsp;
</li>
</ul>

View File

@@ -3,4 +3,4 @@
CommentPart comment = Model.ContentPart;
}
@T("said") <time datetime="@comment.CommentDateUtc.GetValueOrDefault().ToString("yyyy-MM-ddTHH:mm:ss.fffffffZ")">@Html.Link((string)Display.DateTimeRelative(dateTimeUtc: comment.CommentDateUtc.GetValueOrDefault()).ToString(), @Url.RouteUrl(comment.CommentedOnContentItemMetadata.DisplayRouteValues) + "#comment-" + comment.Id)</time>
@T("said") <time datetime="@comment.CommentDateUtc.GetValueOrDefault().ToString("yyyy-MM-ddTHH:mm:ss.fffffffZ")">@Html.Link((string)Display.DateTimeRelative(DateTimeUtc: comment.CommentDateUtc.GetValueOrDefault()).ToString(), @Url.RouteUrl(comment.CommentedOnContentItemMetadata.DisplayRouteValues) + "#comment-" + comment.Id)</time>

View File

@@ -10,6 +10,7 @@ using Orchard.Fields.ViewModels;
using Orchard.ContentManagement.Handlers;
using Orchard.Localization;
using Orchard.Localization.Services;
using Orchard.Core.Common.ViewModels;
namespace Orchard.Fields.Drivers {
[UsedImplicitly]
@@ -43,12 +44,14 @@ namespace Orchard.Fields.Drivers {
var viewModel = new DateTimeFieldViewModel {
Name = field.DisplayName,
Date = DateServices.ConvertToLocalDateString(value, String.Empty),
Time = DateServices.ConvertToLocalTimeString(value, String.Empty),
ShowDate = settings.Display == DateTimeFieldDisplays.DateAndTime || settings.Display == DateTimeFieldDisplays.DateOnly,
ShowTime = settings.Display == DateTimeFieldDisplays.DateAndTime || settings.Display == DateTimeFieldDisplays.TimeOnly,
Hint = settings.Hint,
Required = settings.Required
IsRequired = settings.Required,
Editor = new DateTimeEditor() {
Date = DateServices.ConvertToLocalDateString(value, String.Empty),
Time = DateServices.ConvertToLocalTimeString(value, String.Empty),
ShowDate = settings.Display == DateTimeFieldDisplays.DateAndTime || settings.Display == DateTimeFieldDisplays.DateOnly,
ShowTime = settings.Display == DateTimeFieldDisplays.DateAndTime || settings.Display == DateTimeFieldDisplays.TimeOnly,
}
};
return shapeHelper.Fields_DateTime( // this is the actual Shape which will be resolved (Fields/DateTime.cshtml)
@@ -63,12 +66,14 @@ namespace Orchard.Fields.Drivers {
var viewModel = new DateTimeFieldViewModel {
Name = field.DisplayName,
Date = DateServices.ConvertToLocalDateString(value, String.Empty),
Time = DateServices.ConvertToLocalTimeString(value, String.Empty),
ShowDate = settings.Display == DateTimeFieldDisplays.DateAndTime || settings.Display == DateTimeFieldDisplays.DateOnly,
ShowTime = settings.Display == DateTimeFieldDisplays.DateAndTime || settings.Display == DateTimeFieldDisplays.TimeOnly,
Hint = settings.Hint,
Required = settings.Required
IsRequired = settings.Required,
Editor = new DateTimeEditor() {
Date = DateServices.ConvertToLocalDateString(value, String.Empty),
Time = DateServices.ConvertToLocalTimeString(value, String.Empty),
ShowDate = settings.Display == DateTimeFieldDisplays.DateAndTime || settings.Display == DateTimeFieldDisplays.DateOnly,
ShowTime = settings.Display == DateTimeFieldDisplays.DateAndTime || settings.Display == DateTimeFieldDisplays.TimeOnly,
}
};
return ContentShape("Fields_DateTime_Edit", GetDifferentiator(field, part),
@@ -81,11 +86,11 @@ namespace Orchard.Fields.Drivers {
if (updater.TryUpdateModel(viewModel, GetPrefix(field, part), null, null)) {
var settings = field.PartFieldDefinition.Settings.GetModel<DateTimeFieldSettings>();
if (settings.Required && (((settings.Display == DateTimeFieldDisplays.DateAndTime || settings.Display == DateTimeFieldDisplays.DateOnly) && String.IsNullOrWhiteSpace(viewModel.Date)) || ((settings.Display == DateTimeFieldDisplays.DateAndTime || settings.Display == DateTimeFieldDisplays.TimeOnly) && String.IsNullOrWhiteSpace(viewModel.Time)))) {
if (settings.Required && (((settings.Display == DateTimeFieldDisplays.DateAndTime || settings.Display == DateTimeFieldDisplays.DateOnly) && String.IsNullOrWhiteSpace(viewModel.Editor.Date)) || ((settings.Display == DateTimeFieldDisplays.DateAndTime || settings.Display == DateTimeFieldDisplays.TimeOnly) && String.IsNullOrWhiteSpace(viewModel.Editor.Time)))) {
updater.AddModelError(GetPrefix(field, part), T("{0} is required.", field.DisplayName));
} else {
try {
var utcDateTime = DateServices.ConvertFromLocalString(viewModel.Date, viewModel.Time);
var utcDateTime = DateServices.ConvertFromLocalString(viewModel.Editor.Date, viewModel.Editor.Time);
if (utcDateTime.HasValue) {
field.DateTime = utcDateTime.Value;
} else {

View File

@@ -9,4 +9,4 @@ Features:
Orchard.Fields:
Description: Contains the following fields: Input, Boolean, DateTime, Numeric, Link, Enumeration
Category: Fields
Dependencies: Orchard.jQuery
Dependencies: Common, Orchard.jQuery

View File

@@ -71,12 +71,9 @@
<Reference Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Content Include="Scripts\hint.js" />
<Content Include="Styles\media-gallery-admin.css" />
<Content Include="Styles\datetime.css" />
<Content Include="Styles\Images\move.gif" />
<Content Include="Web.config" />
<Content Include="Scripts\Web.config" />
<Content Include="Styles\Web.config" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Content Include="Module.txt" />

View File

@@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers accessPolicy="Script,Read">
<!--
iis7 - for any request to a file exists on disk, return it via native http module.
accessPolicy 'Script' is to allow for a managed 404 page.
-->
<add name="StaticFile" path="*" verb="*" modules="StaticFileModule" preCondition="integratedMode" resourceType="File" requireAccess="Read" />
</handlers>
</system.webServer>
</configuration>

View File

@@ -13,12 +13,12 @@ namespace Orchard.Fields.Tokens {
public class FieldTokens : ITokenProvider {
private readonly IDateTimeLocalization _dateTimeLocalization;
private readonly IDateTimeFormatProvider _dateTimeLocalization;
private readonly IWorkContextAccessor _workContextAccessor;
private readonly Lazy<CultureInfo> _cultureInfo;
public FieldTokens(
IDateTimeLocalization dateTimeLocalization,
IDateTimeFormatProvider dateTimeLocalization,
IWorkContextAccessor workContextAccessor) {
_dateTimeLocalization = dateTimeLocalization;
_workContextAccessor = workContextAccessor;
@@ -55,9 +55,9 @@ namespace Orchard.Fields.Tokens {
;
context.For<DateTimeField>("DateTimeField")
.Token("Date", (Func<DateTimeField, object>)(d => d.DateTime.ToString(_dateTimeLocalization.ShortDateFormat.Text, _cultureInfo.Value)))
.Token("Time", (Func<DateTimeField, object>)(d => d.DateTime.ToString(_dateTimeLocalization.ShortTimeFormat.Text, _cultureInfo.Value)))
.Token("DateTime", (Func<DateTimeField, object>)(d => d.DateTime.ToString(_dateTimeLocalization.ShortDateTimeFormat.Text, _cultureInfo.Value)))
.Token("Date", (Func<DateTimeField, object>)(d => d.DateTime.ToString(_dateTimeLocalization.ShortDateFormat, _cultureInfo.Value)))
.Token("Time", (Func<DateTimeField, object>)(d => d.DateTime.ToString(_dateTimeLocalization.ShortTimeFormat, _cultureInfo.Value)))
.Token("DateTime", (Func<DateTimeField, object>)(d => d.DateTime.ToString(_dateTimeLocalization.ShortDateTimeFormat, _cultureInfo.Value)))
.Chain("DateTime", "Date", (Func<DateTimeField, object>)(field => field.DateTime))
;
}

View File

@@ -1,16 +1,10 @@
namespace Orchard.Fields.ViewModels {
using Orchard.Core.Common.ViewModels;
namespace Orchard.Fields.ViewModels {
public class DateTimeFieldViewModel {
public string Name { get; set; }
public string Date { get; set; }
public string Time { get; set; }
public bool ShowDate { get; set; }
public bool ShowTime { get; set; }
public string Hint { get; set; }
public bool Required { get; set; }
public bool IsRequired { get; set; }
public DateTimeEditor Editor { get; set; }
}
}

View File

@@ -1,49 +1,9 @@
@model Orchard.Fields.ViewModels.DateTimeFieldViewModel
@{
Style.Include("datetime.css");
Script.Require("jQuery").AtFoot();
Script.Require("jQueryUI_Core").AtFoot();
Script.Require("jQueryUI_Widget").AtFoot();
Style.Require("jQueryUI_Orchard").AtFoot();
Script.Include("hint.js").AtFoot();
}
<fieldset>
<label for="@Html.FieldIdFor(m => Model.Date)" @if(Model.Required) { <text>class="required"</text> }>@Model.Name</label>
@if ( Model.ShowDate ) {
<label class="forpicker" for="@Html.FieldIdFor(m => Model.Date)">@T("Date")</label>
<span class="date">@Html.EditorFor(m => m.Date)</span>
}
@if ( Model.ShowTime ) {
<label class="forpicker" for="@Html.FieldIdFor(m => Model.Time)">@T("Time")</label>
<span class="time">@Html.EditorFor(m => m.Time)</span>
}
@if(Model.ShowDate) { <text>@Html.ValidationMessageFor(m=>m.Date)</text> } @if(Model.ShowTime) { <text>@Html.ValidationMessageFor(m=>m.Time)</text> }
@if (HasText(Model.Hint)) {
<fieldset>
<label for="@Html.FieldIdFor(m => Model.Editor.Date)" @if (Model.IsRequired) { <text> class="required" </text> }>@Model.Name</label>
@Html.EditorFor(m => m.Editor)
@if (HasText(Model.Hint)) {
<span class="hint">@Model.Hint</span>
}
</fieldset>
@using(Script.Foot()) {
@* generates the localization script *@
if (Model.ShowDate) { @Display.DatePickerLocalization() }
if (Model.ShowTime) { @Display.TimePickerLocalization() }
<script type="text/javascript">
//<![CDATA[
$(function () {
$("#@Html.FieldIdFor(m => Model.Date)").datepicker({ showAnim: "" });
@if(Model.ShowTime) {
<text>$("#@Html.FieldIdFor(m => Model.Time)").timepicker({ stepMinute: 5 });</text>
}
})
//]]>
</script>
}
}
</fieldset>

View File

@@ -5,5 +5,5 @@
}
<p class="date-time-field date-time-field-@name.HtmlClassify()">
<span class="name">@name.CamelFriendly():</span>
<span class="value">@if (Model.Model.ShowDate) {<text>@Model.Model.Date</text>} @if (Model.Model.ShowTime) {<text>@Model.Model.Time</text>}</span>
<span class="value">@if (Model.Model.Editor.ShowDate) {<text>@Model.Model.Editor.Date</text>} @if (Model.Model.Editor.ShowTime) {<text>@Model.Model.Editor.Time</text>}</span>
</p>

View File

@@ -19,7 +19,7 @@
@if (index.LastUpdateUtc != DateTime.MinValue) {
<li>&nbsp;|&nbsp;</li>
<li>@T("Updated {0}", Display.DateTimeRelative(dateTimeUtc: index.LastUpdateUtc))</li>
<li>@T("Updated {0}", Display.DateTimeRelative(DateTimeUtc: index.LastUpdateUtc))</li>
}
</ul>
</div>

View File

@@ -52,7 +52,7 @@ else {
<tr>
<td>@priorityName</td>
<td>@job.Message</td>
<td>@Display.DateTimeRelative(dateTimeUtc: job.CreatedUtc)</td>
<td>@Display.DateTimeRelative(DateTimeUtc: job.CreatedUtc)</td>
<td>
<a href="@Url.Action("Details", "Admin", new { job.Id, returnUrl = Request.Url.PathAndQuery })">@T("Details")</a>
</td>

View File

@@ -23,7 +23,7 @@
@foreach (var cacheItem in Model.CacheItems) {
<tr>
<td><span title="@cacheItem.QueryString">@cacheItem.Url</span></td>
<td>@Display.DateTimeRelative(dateTimeUtc: cacheItem.CachedOnUtc)</td>
<td>@Display.DateTimeRelative(DateTimeUtc: cacheItem.CachedOnUtc)</td>
<td>@cacheItem.ValidUntilUtc.ToLocalTime()</td>
<td>@Html.ActionLink(T("Evict").Text, "Evict", new { Area = "Orchard.OutputCache", Controller = "Statistics", cacheKey = cacheItem.CacheKey })</td>
</tr>

View File

@@ -26,7 +26,7 @@
}
<fieldset class="update-actions">
<a class="button" href="@Url.Action("ReloadUpdates", new { returnUrl = ViewContext.RequestContext.HttpContext.Request.ToUrlString()})" title="@T("Most recent check for updates: {0}", Model.LastUpdateCheckUtc == null ? T("Unknown") : Display.DateTimeRelative(dateTimeUtc: Model.LastUpdateCheckUtc.Value))">@T("Check for Updates")</a>
<a class="button" href="@Url.Action("ReloadUpdates", new { returnUrl = ViewContext.RequestContext.HttpContext.Request.ToUrlString()})" title="@T("Most recent check for updates: {0}", Model.LastUpdateCheckUtc == null ? T("Unknown") : Display.DateTimeRelative(DateTimeUtc: Model.LastUpdateCheckUtc.Value))">@T("Check for Updates")</a>
</fieldset>
@if (Model.Entries.Count() <= 0) {

View File

@@ -26,7 +26,7 @@
}
<fieldset class="update-actions">
<a class="button" href="@Url.Action("ReloadUpdates", new { returnUrl = ViewContext.RequestContext.HttpContext.Request.ToUrlString()})" title="@T("Most recent check for updates: {0}", Model.LastUpdateCheckUtc == null ? T("Unknown") : Display.DateTimeRelative(dateTimeUtc: Model.LastUpdateCheckUtc.Value))" >@T("Check for Updates")</a>
<a class="button" href="@Url.Action("ReloadUpdates", new { returnUrl = ViewContext.RequestContext.HttpContext.Request.ToUrlString()})" title="@T("Most recent check for updates: {0}", Model.LastUpdateCheckUtc == null ? T("Unknown") : Display.DateTimeRelative(DateTimeUtc: Model.LastUpdateCheckUtc.Value))" >@T("Check for Updates")</a>
</fieldset>
@if (Model.Entries.Count() <= 0) {

View File

@@ -66,7 +66,7 @@ namespace Orchard.Projections.PropertyEditors.Forms {
switch(format) {
case "ago":
return display.DateTimeRelative(dateTimeUtc: dateTime);
return display.DateTimeRelative(DateTimeUtc: dateTime);
case "day" :
return dateTime.Day.ToString(cultureInfo);
case "month" :

View File

@@ -3,14 +3,14 @@ using System.Xml;
using Orchard.ContentManagement;
using Orchard.ContentManagement.Drivers;
using Orchard.ContentManagement.Handlers;
using Orchard.Core.Common.ViewModels;
using Orchard.Localization;
using Orchard.Localization.Services;
using Orchard.Mvc;
using Orchard.PublishLater.Models;
using Orchard.PublishLater.Services;
using Orchard.PublishLater.ViewModels;
using Orchard.Localization;
using System.Globalization;
using Orchard.Services;
using Orchard.Localization.Services;
namespace Orchard.PublishLater.Drivers {
public class PublishLaterPartDriver : ContentPartDriver<PublishLaterPart> {
@@ -62,10 +62,13 @@ namespace Orchard.PublishLater.Drivers {
protected override DriverResult Editor(PublishLaterPart part, dynamic shapeHelper) {
var model = new PublishLaterViewModel(part) {
ScheduledPublishUtc = part.ScheduledPublishUtc.Value,
ScheduledPublishDate = !part.IsPublished() ? _dateServices.ConvertToLocalDateString(part.ScheduledPublishUtc.Value, "") : "",
ScheduledPublishTime = !part.IsPublished() ? _dateServices.ConvertToLocalTimeString(part.ScheduledPublishUtc.Value, "") : ""
};
Editor = new DateTimeEditor() {
ShowDate = true,
ShowTime = true,
Date = !part.IsPublished() ? _dateServices.ConvertToLocalDateString(part.ScheduledPublishUtc.Value, "") : "",
Time = !part.IsPublished() ? _dateServices.ConvertToLocalTimeString(part.ScheduledPublishUtc.Value, "") : "",
}
};
return ContentShape("Parts_PublishLater_Edit",
() => shapeHelper.EditorTemplate(TemplateName: TemplateName, Model: model, Prefix: Prefix));
@@ -77,23 +80,23 @@ namespace Orchard.PublishLater.Drivers {
updater.TryUpdateModel(model, Prefix, null, null);
var httpContext = _httpContextAccessor.Current();
if (httpContext.Request.Form["submit.Save"] == "submit.PublishLater") {
if (!String.IsNullOrWhiteSpace(model.ScheduledPublishDate) && !String.IsNullOrWhiteSpace(model.ScheduledPublishTime)) {
if (!String.IsNullOrWhiteSpace(model.Editor.Date) && !String.IsNullOrWhiteSpace(model.Editor.Time)) {
try {
var utcDateTime = _dateServices.ConvertFromLocalString(model.ScheduledPublishDate, model.ScheduledPublishTime);
model.ScheduledPublishUtc = part.ScheduledPublishUtc.Value = utcDateTime;
if (model.ScheduledPublishUtc < _clock.UtcNow) {
updater.AddModelError("ScheduledPublishUtcDate", T("You cannot schedule a publishing date in the past."));
}
else {
_publishLaterService.Publish(model.ContentItem, model.ScheduledPublishUtc.Value);
var utcDateTime = _dateServices.ConvertFromLocalString(model.Editor.Date, model.Editor.Time);
if (utcDateTime.HasValue) {
if (utcDateTime.Value < _clock.UtcNow) {
updater.AddModelError("ScheduledPublishUtcDate", T("You cannot schedule a publishing date in the past."));
}
else {
_publishLaterService.Publish(model.ContentItem, utcDateTime.Value);
}
}
}
catch (FormatException) {
updater.AddModelError(Prefix, T("'{0} {1}' could not be parsed as a valid date and time.", model.ScheduledPublishDate, model.ScheduledPublishTime));
updater.AddModelError(Prefix, T("'{0} {1}' could not be parsed as a valid date and time.", model.Editor.Date, model.Editor.Time));
}
}
else if (!String.IsNullOrWhiteSpace(model.ScheduledPublishDate) || !String.IsNullOrWhiteSpace(model.ScheduledPublishTime)) {
else if (!String.IsNullOrWhiteSpace(model.Editor.Date) || !String.IsNullOrWhiteSpace(model.Editor.Time)) {
updater.AddModelError(Prefix, T("Both the date and time need to be specified for when this is to be published. If you don't want to schedule publishing then click Save or Publish Now."));
}
}

View File

@@ -8,4 +8,4 @@ OrchardVersion: 1.7.2
Description: The PublishLater module introduces draft creation and scheduled publishing functionality.
FeatureDescription: Draft creation and scheduled publishing.
Category: Content
Dependencies: Common, Scheduling, Orchard.jQuery
Dependencies: Common, Scheduling

View File

@@ -73,7 +73,6 @@
<SubType>
</SubType>
</Compile>
<Compile Include="ResourceManifest.cs" />
<Compile Include="Services\IPublishLaterService.cs" />
<Compile Include="Services\PublishingTaskManager.cs" />
<Compile Include="Services\PublishLaterService.cs" />
@@ -102,7 +101,6 @@
<Content Include="Content\Admin\images\published.gif" />
<Content Include="Content\Admin\images\scheduled.gif" />
<Content Include="Module.txt" />
<Content Include="Styles\orchard-publishlater-datetime.css" />
</ItemGroup>
<ItemGroup>
<Content Include="Views\EditorTemplates\Parts\PublishLater.cshtml" />
@@ -121,11 +119,6 @@
<SubType>Designer</SubType>
</Content>
</ItemGroup>
<ItemGroup>
<Content Include="Styles\Web.config">
<SubType>Designer</SubType>
</Content>
</ItemGroup>
<ItemGroup>
<Content Include="web.config" />
</ItemGroup>

View File

@@ -1,9 +0,0 @@
using Orchard.UI.Resources;
namespace Orchard.PublishLater {
public class ResourceManifest : IResourceManifestProvider {
public void BuildManifests(ResourceManifestBuilder builder) {
builder.Add().DefineStyle("PublishLater_DatePicker").SetUrl("orchard-publishlater-datetime.css");
}
}
}

View File

@@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
</staticContent>
<handlers accessPolicy="Script,Read">
<!--
iis7 - for any request to a file exists on disk, return it via native http module.
accessPolicy 'Script' is to allow for a managed 404 page.
-->
<add name="StaticFile" path="*" verb="*" modules="StaticFileModule" preCondition="integratedMode" resourceType="File" requireAccess="Read" />
</handlers>
</system.webServer>
</configuration>

View File

@@ -1,31 +0,0 @@
html.dyn label.forpicker {
display:none;
}
/* todo: (heskew) let themes take care of this */
html.dyn input.hinted {
color:#ccc;
font-style:italic;
}
fieldset.publish-later-datetime {
float:left;
clear:none;
white-space: nowrap;
vertical-align: middle;
}
fieldset.publish-later-datetime legend {
display:none;
}
fieldset.publish-later-datetime input {
padding:1px;
text-align:center;
color:#666;
}
input#PublishLater_ScheduledPublishDate {
width:10em;
margin:0 0 0 12px;
}
input#PublishLater_ScheduledPublishTime {
width:7em;
}

View File

@@ -1,5 +1,6 @@
using System;
using Orchard.ContentManagement;
using Orchard.Core.Common.ViewModels;
using Orchard.PublishLater.Models;
namespace Orchard.PublishLater.ViewModels {
@@ -29,10 +30,6 @@ namespace Orchard.PublishLater.ViewModels {
get { return IsPublished || ContentItem.ContentManager.Get(ContentItem.Id, VersionOptions.Published) != null; }
}
public DateTime? ScheduledPublishUtc { get; set; }
public string ScheduledPublishDate { get; set; }
public string ScheduledPublishTime { get; set; }
public DateTimeEditor Editor { get; set; }
}
}

View File

@@ -4,52 +4,43 @@
@using Orchard.Core.Contents;
@using Orchard.Utility.Extensions;
@{
Style.Require("PublishLater_DatePicker");
}
@if (Authorizer.Authorize(Permissions.PublishContent, Model.ContentItem)) {
<style type="text/css">
/* TODO: Extract to resource (Decorum). */
.publish-later-datetime {
float: left;
clear: none;
white-space: nowrap;
vertical-align: middle;
}
.publish-later-datetime legend {
display: none;
}
.publish-later-datetime button {
margin-left: 4px;
}
</style>
<fieldset class="publish-later-datetime">
<legend>@T("Publish")</legend>
<label class="forpicker" for="@ViewData.TemplateInfo.GetFullHtmlFieldId("ScheduledPublishDate")">@T("Date")</label>
@Html.EditorFor(m => m.ScheduledPublishDate)
<label class="forpicker" for="@ViewData.TemplateInfo.GetFullHtmlFieldId("ScheduledPublishTime")">@T("Time")</label>
@Html.EditorFor(m => m.ScheduledPublishTime)
<button type="submit" name="submit.Save" value="submit.PublishLater">@T("Publish Later")</button>
</fieldset>
<fieldset class="publish-later-datetime">
<legend>@T("Publish")</legend>
@Html.EditorFor(m => m.Editor)
<button type="submit" name="submit.Save" value="submit.PublishLater">@T("Publish Later")</button>
</fieldset>
using (Script.Foot()) {
@* generates the localization script *@
@Display(New.DatePickerLocalization())
@Display(New.TimePickerLocalization())
<script type="text/javascript">
//<![CDATA[
$(function () {
var clearHint = function ($this) { if ($this.val() == $this.data("hint")) { $this.removeClass("hinted").val("") } };
var resetHint = function ($this) { setTimeout(function () { if (!$this.val()) { $this.addClass("hinted").val($this.data("hint")) } }, 300) };
@* todo: (heskew) make a plugin *@
$("label.forpicker").each(function () {
var $this = $(this);
var pickerInput = $("#" + $this.attr("for"));
if (!pickerInput.val()) {
pickerInput.data("hint", $this.text());
pickerInput.addClass("hinted")
.val(pickerInput.data("hint"))
.focus(function() {clearHint($(this));})
.blur(function() {resetHint($(this));});
$this.closest("form").submit(function() {clearHint(pickerInput); pickerInput = 0;});
}
});
$('#@ViewData.TemplateInfo.GetFullHtmlFieldId("ScheduledPublishDate")').datepicker({ showAnim: ""}).focus(function () { $('#@ViewData.TemplateInfo.GetFullHtmlFieldId("Command_PublishLater")').attr("checked", "checked") });
$('#@ViewData.TemplateInfo.GetFullHtmlFieldId("ScheduledPublishTime")').timepicker({ stepMinute: 5}).focus(function () { $('#@ViewData.TemplateInfo.GetFullHtmlFieldId("Command_PublishLater")').attr("checked", "checked") });
})
//]]>
</script>
}
using (Script.Foot()) {
<script type="text/javascript">
//<![CDATA[
$(function () {
// TODO: Does the below actually do anything? Where is the Command_PublishLater field?
$('#@Html.FieldIdFor(m => m.Editor.Date)').focus(function () { $('#@ViewData.TemplateInfo.GetFullHtmlFieldId("Command_PublishLater")').attr("checked", "checked") });
$('#@Html.FieldIdFor(m => m.Editor.Time)').focus(function () { $('#@ViewData.TemplateInfo.GetFullHtmlFieldId("Command_PublishLater")').attr("checked", "checked") });
})
//]]>
</script>
}
}

View File

@@ -6,5 +6,5 @@
DateTime? publishedUtc = publishLaterPart.As<CommonPart>() == null ? null : publishLaterPart.As<CommonPart>().PublishedUtc;
}
@if (publishLaterPart.IsPublished() && publishedUtc.HasValue) {
@T("Published: {0}", Display.DateTimeRelative(dateTimeUtc: publishedUtc.Value)) @T(" | ")
@T("Published: {0}", Display.DateTimeRelative(DateTimeUtc: publishedUtc.Value)) @T(" | ")
}

View File

@@ -8,27 +8,35 @@
<ul class="pageStatus">
@* Published or not *@
@if (publishLaterPart.HasPublished()) {
<li><img class="icon" src="@Href("~/Modules/Orchard.PublishLater/Content/Admin/images/online.gif")" alt="@T("Online")" title="@T("The page is currently online")" /> </li> <li>@T("Published")&nbsp;&#124;&nbsp;</li>
<li><img class="icon" src="@Href("~/Modules/Orchard.PublishLater/Content/Admin/images/online.gif")" alt="@T("Online")" title="@T("The page is currently online")" /> </li>
<li>@T("Published")&nbsp;&#124;&nbsp;</li>
}
else {
<li><img class="icon" src="@Href("~/Modules/Orchard.PublishLater/Content/Admin/images/offline.gif")" alt="@T("Offline")" title="@T("The page is currently offline")" /> </li> <li>@T("Not Published")&nbsp;&#124;&nbsp;</li>
<li><img class="icon" src="@Href("~/Modules/Orchard.PublishLater/Content/Admin/images/offline.gif")" alt="@T("Offline")" title="@T("The page is currently offline")" /> </li>
<li>@T("Not Published")&nbsp;&#124;&nbsp;</li>
}
@* Does the page have a draft *@
@if (publishLaterPart.HasDraft()) {
<li><img class="icon" src="@Href("~/Modules/Orchard.PublishLater/Content/Admin/images/draft.gif")" alt="@T("Draft")" title="@T("The page has a draft")" /></li> <li>@T("Draft")&nbsp;&#124;&nbsp;</li>
<li><img class="icon" src="@Href("~/Modules/Orchard.PublishLater/Content/Admin/images/draft.gif")" alt="@T("Draft")" title="@T("The page has a draft")" /></li>
<li>@T("Draft")&nbsp;&#124;&nbsp;</li>
}
else {
<li>@T("No Draft")&nbsp;&#124;&nbsp;</li>
}
@if ((((DateTime?)Model.ScheduledPublishUtc).HasValue && ((DateTime?)Model.ScheduledPublishUtc).Value > DateTime.UtcNow) || (publishLaterPart.IsPublished() && versionPublishedUtc.HasValue)) {
if (publishLaterPart.IsPublished() && versionPublishedUtc.HasValue) {
<li>@T("Published: {0}", Display.DateTimeRelative(dateTimeUtc: versionPublishedUtc.Value))</li> <li>&nbsp;&#124;&nbsp;</li>
<li>@T("Published: {0}", Display.DateTimeRelative(DateTimeUtc: versionPublishedUtc.Value))</li>
<li>&nbsp;&#124;&nbsp;</li>
}
else {
<li><img class="icon" src="@Href("~/Modules/Orchard.PublishLater/Content/Admin/images/scheduled.gif")" alt="@T("Scheduled")" title="@T("The page is scheduled for publishing")" /></li> <li>@T("Scheduled")&#58;&nbsp;</li>
<li>@Display.DateTime(DateTimeUtc: ((DateTime?)Model.ScheduledPublishUtc).Value, CustomFormat: T("M/d/yyyy h:mm tt")) &nbsp;&#124;&nbsp;</li>
<li><img class="icon" src="@Href("~/Modules/Orchard.PublishLater/Content/Admin/images/scheduled.gif")" alt="@T("Scheduled")" title="@T("The page is scheduled for publishing")" /></li>
<li>@T("Scheduled")&#58;&nbsp;</li>
<li>
@Display.DateTime(DateTimeUtc: ((DateTime?)Model.ScheduledPublishUtc).Value, CustomFormat: null)
&nbsp;&#124;&nbsp;
</li>
}
}
</ul>

View File

@@ -6,5 +6,5 @@
DateTime? publishedUtc = publishLaterPart.As<CommonPart>() == null ? null : publishLaterPart.As<CommonPart>().PublishedUtc;
}
@if (publishLaterPart.IsPublished() && publishedUtc.HasValue) {
@T("Published: {0}", Display.DateTimeRelative(dateTimeUtc: publishedUtc.Value))
@T("Published: {0}", Display.DateTimeRelative(DateTimeUtc: publishedUtc.Value))
}

View File

@@ -8,14 +8,14 @@ using Orchard.Services;
namespace Orchard.Tokens.Providers {
public class DateTokens : ITokenProvider {
private readonly IClock _clock;
private readonly IDateTimeLocalization _dateTimeLocalization;
private readonly IDateTimeFormatProvider _dateTimeLocalization;
private readonly IWorkContextAccessor _workContextAccessor;
private readonly Lazy<CultureInfo> _cultureInfo;
private readonly IDateServices _dateServices;
public DateTokens(
IClock clock,
IDateTimeLocalization dateTimeLocalization,
IDateTimeFormatProvider dateTimeLocalization,
IWorkContextAccessor workContextAccessor,
IDateServices dateServices) {
_clock = clock;
@@ -48,15 +48,15 @@ namespace Orchard.Tokens.Providers {
.Token("Local", d => _dateServices.ConvertToLocal(d))
.Chain("Local", "Date", d => _dateServices.ConvertToLocal(d))
// {Date.ShortDate}
.Token("ShortDate", d => d.ToString(_dateTimeLocalization.ShortDateFormat.Text, _cultureInfo.Value))
.Token("ShortDate", d => d.ToString(_dateTimeLocalization.ShortDateFormat, _cultureInfo.Value))
// {Date.ShortTime}
.Token("ShortTime", d => d.ToString(_dateTimeLocalization.ShortTimeFormat.Text, _cultureInfo.Value))
.Token("ShortTime", d => d.ToString(_dateTimeLocalization.ShortTimeFormat, _cultureInfo.Value))
// {Date.Long}
.Token("Long", d => d.ToString(_dateTimeLocalization.LongDateTimeFormat.Text, _cultureInfo.Value))
.Token("Long", d => d.ToString(_dateTimeLocalization.LongDateTimeFormat, _cultureInfo.Value))
// {Date}
.Token(
token => token == String.Empty ? String.Empty : null,
(token, d) => d.ToString(_dateTimeLocalization.ShortDateFormat.Text + " " + _dateTimeLocalization.ShortTimeFormat.Text, _cultureInfo.Value))
(token, d) => d.ToString(_dateTimeLocalization.ShortDateFormat + " " + _dateTimeLocalization.ShortTimeFormat, _cultureInfo.Value))
// {Date.Format:<formatstring>}
.Token(
token => token.StartsWith("Format:", StringComparison.OrdinalIgnoreCase) ? token.Substring("Format:".Length) : null,

View File

@@ -22,7 +22,7 @@ namespace Orchard.Tokens.Tests {
builder.RegisterType<Tokenizer>().As<ITokenizer>();
builder.RegisterType<DateTokens>().As<ITokenProvider>();
builder.RegisterType<StubClock>().As<IClock>();
builder.RegisterType<DefaultDateTimeLocalization>().As<IDateTimeLocalization>();
builder.RegisterType<CultureDateTimeFormatProvider>().As<IDateTimeFormatProvider>();
builder.RegisterType<DefaultDateServices>().As<IDateServices>();
builder.RegisterType<StubWorkContextAccessor>().As<IWorkContextAccessor>();
_container = builder.Build();
@@ -32,10 +32,10 @@ namespace Orchard.Tokens.Tests {
[Test]
public void TestDateTokens() {
var dateTimeLocalization = _container.Resolve<IDateTimeLocalization>();
var dateTimeLocalization = _container.Resolve<IDateTimeFormatProvider>();
var culture = CultureInfo.GetCultureInfo(_container.Resolve<IOrchardServices>().WorkContext.CurrentCulture);
var dateTimeFormat = dateTimeLocalization.ShortDateFormat.Text + " " + dateTimeLocalization.ShortTimeFormat.Text;
var dateTimeFormat = dateTimeLocalization.ShortDateFormat + " " + dateTimeLocalization.ShortTimeFormat;
Assert.That(_tokenizer.Replace("{Date}", null), Is.EqualTo(_clock.UtcNow.ToString(dateTimeFormat, culture)));
Assert.That(_tokenizer.Replace("{Date}", new { Date = new DateTime(1978, 11, 15, 0, 0, 0, DateTimeKind.Utc) }), Is.EqualTo(new DateTime(1978, 11, 15, 0, 0, 0, DateTimeKind.Utc).ToString(dateTimeFormat, culture)));

View File

@@ -63,7 +63,7 @@
@reportEntry.StatusCode
</td>
<td>
@Display.DateTimeRelative(dateTimeUtc: reportEntry.CreatedUtc).ToString()
@Display.DateTimeRelative(DateTimeUtc: reportEntry.CreatedUtc).ToString()
</td>
</tr>
}

View File

@@ -7,4 +7,5 @@ Version: 1.7.2
OrchardVersion: 1.7.2
Description: The jQuery module contains the jQuery and related script libraries.
FeatureDescription: A common location for jQuery and related script libraries.
Dependencies: Common
Category: Core

View File

@@ -61,7 +61,231 @@
<Reference Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Content Include="Scripts\calendars\jquery.calendars-af.js" />
<Content Include="Scripts\calendars\jquery.calendars-am.js" />
<Content Include="Scripts\calendars\jquery.calendars-ar-DZ.js" />
<Content Include="Scripts\calendars\jquery.calendars-ar-EG.js" />
<Content Include="Scripts\calendars\jquery.calendars-ar.js" />
<Content Include="Scripts\calendars\jquery.calendars-az.js" />
<Content Include="Scripts\calendars\jquery.calendars-bg.js" />
<Content Include="Scripts\calendars\jquery.calendars-bs.js" />
<Content Include="Scripts\calendars\jquery.calendars-ca.js" />
<Content Include="Scripts\calendars\jquery.calendars-cs.js" />
<Content Include="Scripts\calendars\jquery.calendars-da.js" />
<Content Include="Scripts\calendars\jquery.calendars-de-CH.js" />
<Content Include="Scripts\calendars\jquery.calendars-de.js" />
<Content Include="Scripts\calendars\jquery.calendars-el.js" />
<Content Include="Scripts\calendars\jquery.calendars-en-AU.js" />
<Content Include="Scripts\calendars\jquery.calendars-en-GB.js" />
<Content Include="Scripts\calendars\jquery.calendars-en-NZ.js" />
<Content Include="Scripts\calendars\jquery.calendars-eo.js" />
<Content Include="Scripts\calendars\jquery.calendars-es-AR.js" />
<Content Include="Scripts\calendars\jquery.calendars-es-PE.js" />
<Content Include="Scripts\calendars\jquery.calendars-es.js" />
<Content Include="Scripts\calendars\jquery.calendars-et.js" />
<Content Include="Scripts\calendars\jquery.calendars-eu.js" />
<Content Include="Scripts\calendars\jquery.calendars-fa.js" />
<Content Include="Scripts\calendars\jquery.calendars-fi.js" />
<Content Include="Scripts\calendars\jquery.calendars-fo.js" />
<Content Include="Scripts\calendars\jquery.calendars-fr-CH.js" />
<Content Include="Scripts\calendars\jquery.calendars-fr.js" />
<Content Include="Scripts\calendars\jquery.calendars-gl.js" />
<Content Include="Scripts\calendars\jquery.calendars-gu.js" />
<Content Include="Scripts\calendars\jquery.calendars-he.js" />
<Content Include="Scripts\calendars\jquery.calendars-hi-IN.js" />
<Content Include="Scripts\calendars\jquery.calendars-hr.js" />
<Content Include="Scripts\calendars\jquery.calendars-hu.js" />
<Content Include="Scripts\calendars\jquery.calendars-hy.js" />
<Content Include="Scripts\calendars\jquery.calendars-id.js" />
<Content Include="Scripts\calendars\jquery.calendars-is.js" />
<Content Include="Scripts\calendars\jquery.calendars-it.js" />
<Content Include="Scripts\calendars\jquery.calendars-ja.js" />
<Content Include="Scripts\calendars\jquery.calendars-ka.js" />
<Content Include="Scripts\calendars\jquery.calendars-km.js" />
<Content Include="Scripts\calendars\jquery.calendars-ko.js" />
<Content Include="Scripts\calendars\jquery.calendars-lt.js" />
<Content Include="Scripts\calendars\jquery.calendars-lv.js" />
<Content Include="Scripts\calendars\jquery.calendars-me-ME.js" />
<Content Include="Scripts\calendars\jquery.calendars-me.js" />
<Content Include="Scripts\calendars\jquery.calendars-mk.js" />
<Content Include="Scripts\calendars\jquery.calendars-ml.js" />
<Content Include="Scripts\calendars\jquery.calendars-ms.js" />
<Content Include="Scripts\calendars\jquery.calendars-mt.js" />
<Content Include="Scripts\calendars\jquery.calendars-nl-BE.js" />
<Content Include="Scripts\calendars\jquery.calendars-nl.js" />
<Content Include="Scripts\calendars\jquery.calendars-no.js" />
<Content Include="Scripts\calendars\jquery.calendars-pl.js" />
<Content Include="Scripts\calendars\jquery.calendars-pt-BR.js" />
<Content Include="Scripts\calendars\jquery.calendars-rm.js" />
<Content Include="Scripts\calendars\jquery.calendars-ro.js" />
<Content Include="Scripts\calendars\jquery.calendars-ru.js" />
<Content Include="Scripts\calendars\jquery.calendars-sk.js" />
<Content Include="Scripts\calendars\jquery.calendars-sl.js" />
<Content Include="Scripts\calendars\jquery.calendars-sq.js" />
<Content Include="Scripts\calendars\jquery.calendars-sr-SR.js" />
<Content Include="Scripts\calendars\jquery.calendars-sr.js" />
<Content Include="Scripts\calendars\jquery.calendars-sv.js" />
<Content Include="Scripts\calendars\jquery.calendars-ta.js" />
<Content Include="Scripts\calendars\jquery.calendars-th.js" />
<Content Include="Scripts\calendars\jquery.calendars-tr.js" />
<Content Include="Scripts\calendars\jquery.calendars-uk.js" />
<Content Include="Scripts\calendars\jquery.calendars-ur.js" />
<Content Include="Scripts\calendars\jquery.calendars-vi.js" />
<Content Include="Scripts\calendars\jquery.calendars-zh-CN.js" />
<Content Include="Scripts\calendars\jquery.calendars-zh-HK.js" />
<Content Include="Scripts\calendars\jquery.calendars-zh-TW.js" />
<Content Include="Scripts\calendars\jquery.calendars.all.js" />
<Content Include="Scripts\calendars\jquery.calendars.all.min.js" />
<Content Include="Scripts\calendars\jquery.calendars.coptic.js" />
<Content Include="Scripts\calendars\jquery.calendars.coptic.min.js" />
<Content Include="Scripts\calendars\jquery.calendars.ethiopian-am.js" />
<Content Include="Scripts\calendars\jquery.calendars.ethiopian.js" />
<Content Include="Scripts\calendars\jquery.calendars.ethiopian.min.js" />
<Content Include="Scripts\calendars\jquery.calendars.hebrew-he.js" />
<Content Include="Scripts\calendars\jquery.calendars.hebrew.js" />
<Content Include="Scripts\calendars\jquery.calendars.hebrew.min.js" />
<Content Include="Scripts\calendars\jquery.calendars.islamic-ar.js" />
<Content Include="Scripts\calendars\jquery.calendars.islamic-fa.js" />
<Content Include="Scripts\calendars\jquery.calendars.islamic.js" />
<Content Include="Scripts\calendars\jquery.calendars.islamic.min.js" />
<Content Include="Scripts\calendars\jquery.calendars.js" />
<Content Include="Scripts\calendars\jquery.calendars.julian.js" />
<Content Include="Scripts\calendars\jquery.calendars.julian.min.js" />
<Content Include="Scripts\calendars\jquery.calendars.lang.js" />
<Content Include="Scripts\calendars\jquery.calendars.lang.min.js" />
<Content Include="Scripts\calendars\jquery.calendars.mayan.js" />
<Content Include="Scripts\calendars\jquery.calendars.mayan.min.js" />
<Content Include="Scripts\calendars\jquery.calendars.min.js" />
<Content Include="Scripts\calendars\jquery.calendars.nepali-ne.js" />
<Content Include="Scripts\calendars\jquery.calendars.nepali.js" />
<Content Include="Scripts\calendars\jquery.calendars.nepali.min.js" />
<Content Include="Scripts\calendars\jquery.calendars.persian-fa.js" />
<Content Include="Scripts\calendars\jquery.calendars.persian.js" />
<Content Include="Scripts\calendars\jquery.calendars.persian.min.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-af.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-am.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-ar-DZ.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-ar-EG.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-ar.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-az.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-bg.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-bs.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-ca.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-cs.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-da.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-de-CH.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-de.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-el.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-en-AU.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-en-GB.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-en-NZ.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-eo.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-es-AR.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-es-PE.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-es.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-et.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-eu.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-fa.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-fi.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-fo.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-fr-CH.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-fr.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-gl.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-gu.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-he.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-hi-IN.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-hr.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-hu.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-hy.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-id.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-is.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-it.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-ja.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-ka.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-km.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-ko.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-lt.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-lv.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-me-ME.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-me.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-mk.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-ml.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-ms.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-mt.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-nl-BE.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-nl.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-no.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-pl.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-pt-BR.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-rm.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-ro.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-ru.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-sk.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-sl.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-sq.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-sr-SR.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-sr.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-sv.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-ta.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-th.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-tr.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-uk.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-ur.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-vi.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-zh-CN.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-zh-HK.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker-zh-TW.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker.ext.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker.ext.min.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker.lang.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker.lang.min.js" />
<Content Include="Scripts\calendars\jquery.calendars.picker.min.js" />
<Content Include="Scripts\calendars\jquery.calendars.plus.js" />
<Content Include="Scripts\calendars\jquery.calendars.plus.min.js" />
<Content Include="Scripts\calendars\jquery.calendars.taiwan-zh-TW.js" />
<Content Include="Scripts\calendars\jquery.calendars.taiwan.js" />
<Content Include="Scripts\calendars\jquery.calendars.taiwan.min.js" />
<Content Include="Scripts\calendars\jquery.calendars.thai-th.js" />
<Content Include="Scripts\calendars\jquery.calendars.thai.js" />
<Content Include="Scripts\calendars\jquery.calendars.thai.min.js" />
<Content Include="Scripts\calendars\jquery.calendars.ummalqura-ar.js" />
<Content Include="Scripts\calendars\jquery.calendars.ummalqura.js" />
<Content Include="Scripts\calendars\jquery.calendars.ummalqura.min.js" />
<Content Include="Scripts\calendars\jquery.calendars.validation.js" />
<Content Include="Scripts\calendars\jquery.calendars.validation.min.js" />
<Content Include="Scripts\jquery-datetime-editor.js" />
<Content Include="Scripts\timeentry\jquery.timeentry-ar.js" />
<Content Include="Scripts\timeentry\jquery.timeentry-ca.js" />
<Content Include="Scripts\timeentry\jquery.timeentry-cs.js" />
<Content Include="Scripts\timeentry\jquery.timeentry-de.js" />
<Content Include="Scripts\timeentry\jquery.timeentry-es.js" />
<Content Include="Scripts\timeentry\jquery.timeentry-fa.js" />
<Content Include="Scripts\timeentry\jquery.timeentry-fr.js" />
<Content Include="Scripts\timeentry\jquery.timeentry-hu.js" />
<Content Include="Scripts\timeentry\jquery.timeentry-is.js" />
<Content Include="Scripts\timeentry\jquery.timeentry-it.js" />
<Content Include="Scripts\timeentry\jquery.timeentry-ja.js" />
<Content Include="Scripts\timeentry\jquery.timeentry-lt.js" />
<Content Include="Scripts\timeentry\jquery.timeentry-lv.js" />
<Content Include="Scripts\timeentry\jquery.timeentry-nl.js" />
<Content Include="Scripts\timeentry\jquery.timeentry-pl.js" />
<Content Include="Scripts\timeentry\jquery.timeentry-pt.js" />
<Content Include="Scripts\timeentry\jquery.timeentry-ro.js" />
<Content Include="Scripts\timeentry\jquery.timeentry-ru.js" />
<Content Include="Scripts\timeentry\jquery.timeentry-sk.js" />
<Content Include="Scripts\timeentry\jquery.timeentry-sv.js" />
<Content Include="Scripts\timeentry\jquery.timeentry-tr.js" />
<Content Include="Scripts\timeentry\jquery.timeentry-vi.js" />
<Content Include="Scripts\timeentry\jquery.timeentry-zh-CN.js" />
<Content Include="Scripts\timeentry\jquery.timeentry-zh-TW.js" />
<Content Include="Scripts\timeentry\jquery.timeentry.js" />
<Content Include="Scripts\timeentry\jquery.timeentry.min.js" />
<Content Include="Styles\colorbox.css" />
<Content Include="Styles\jquery-datetime-editor.css" />
<Content Include="Styles\images\calendar-blue.gif" />
<Content Include="Styles\images\calendar-green.gif" />
<Content Include="Styles\images\calendar.gif" />
<Content Include="Styles\images\colorbox\border.png" />
<Content Include="Styles\images\colorbox\controls.png" />
<Content Include="Styles\images\colorbox\loading.gif" />
@@ -155,6 +379,22 @@
<Content Include="Scripts\jquery.ui.widget.js" />
<Content Include="Scripts\jquery.ui.widget.min.js" />
<Content Include="Scripts\jquery.utils.js" />
<Content Include="Styles\images\spinnerBlue.png" />
<Content Include="Styles\images\spinnerBlueBig.png" />
<Content Include="Styles\images\spinnerDefault.png" />
<Content Include="Styles\images\spinnerDefaultBig.png" />
<Content Include="Styles\images\spinnerGem.png" />
<Content Include="Styles\images\spinnerGemBig.png" />
<Content Include="Styles\images\spinnerGreen.png" />
<Content Include="Styles\images\spinnerGreenBig.png" />
<Content Include="Styles\images\spinnerOrange.png" />
<Content Include="Styles\images\spinnerOrangeBig.png" />
<Content Include="Styles\images\spinnerSquare.png" />
<Content Include="Styles\images\spinnerSquareBig.png" />
<Content Include="Styles\images\spinnerText.png" />
<Content Include="Styles\images\spinnerTextBig.png" />
<Content Include="Styles\images\spinnerUpDown.png" />
<Content Include="Styles\images\spinnerUpDownBig.png" />
<Content Include="Styles\images\ui-bg_flat_0_aaaaaa_40x100.png" />
<Content Include="Styles\images\ui-bg_flat_75_ffffff_40x100.png" />
<Content Include="Styles\images\ui-bg_glass_55_fbf9ee_1x400.png" />
@@ -170,6 +410,9 @@
<Content Include="Styles\images\ui-icons_cd0a0a_256x240.png" />
<Content Include="Styles\jquery-ui-1.9.2.custom.css" />
<Content Include="Styles\jquery-ui-timepicker-addon.css" />
<Content Include="Styles\jquery.calendars.picker.css" />
<Content Include="Styles\jquery.timeentry.css" />
<Content Include="Styles\ui.calendars.picker.css" />
<Content Include="Styles\ui.datepicker.css" />
</ItemGroup>
<ItemGroup>
@@ -209,6 +452,15 @@
<ItemGroup>
<Content Include="Scripts\jquery.min.map" />
</ItemGroup>
<ItemGroup>
<Content Include="Views\CalendarsPickerLocalization.cshtml" />
</ItemGroup>
<ItemGroup>
<Content Include="Views\TimeEntryLocalization.cshtml" />
</ItemGroup>
<ItemGroup>
<Content Include="Views\EditorTemplates\DateTimeEditor.cshtml" />
</ItemGroup>
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>

View File

@@ -66,6 +66,20 @@ namespace Orchard.jQuery {
manifest.DefineStyle("jQueryUI_DatePicker").SetUrl("ui.datepicker.css").SetDependencies("jQueryUI_Orchard").SetVersion("1.7.2");
manifest.DefineStyle("jQueryUI_TimePicker").SetUrl("jquery-ui-timepicker-addon.css").SetDependencies("jQueryUI_Orchard").SetVersion("1.0.5");
// jQuery Calendars
manifest.DefineScript("jQueryCalendars_All").SetUrl("calendars/jquery.calendars.all.min.js", "calendars/jquery.calendars.all.js").SetDependencies("jQuery").SetVersion("1.2.1");
manifest.DefineScript("jQueryCalendars_Picker_Ext").SetUrl("calendars/jquery.calendars.picker.ext.min.js", "calendars/jquery.calendars.picker.ext.js").SetDependencies("jQueryCalendars_Picker").SetVersion("1.2.1");
manifest.DefineStyle("jQueryCalendars_Picker").SetUrl("jquery.calendars.picker.css").SetVersion("1.2.1");
manifest.DefineStyle("jQueryUI_Calendars_Picker").SetUrl("ui.calendars.picker.css").SetDependencies("jQueryUI_Orchard").SetVersion("1.2.1");
// jQuery Time Entry
manifest.DefineScript("jQueryTimeEntry").SetUrl("timeentry/jquery.timeentry.min.js", "timeentry/jquery.timeentry.js").SetDependencies("jQuery").SetVersion("1.5.2");
manifest.DefineStyle("jQueryTimeEntry").SetUrl("jquery.timeentry.css").SetVersion("1.5.2");
// jQuery Date/Time Editor Enhancements
manifest.DefineScript("jQueryDateTimeEditor").SetUrl("jquery-datetime-editor.js").SetDependencies("jQuery");
manifest.DefineStyle("jQueryDateTimeEditor").SetUrl("jquery-datetime-editor.css").SetDependencies("DateTimeEditor");
// jQuery File Upload
manifest.DefineScript("jQueryIFrameTransport").SetUrl("jquery.iframe-transport.min.js", "jquery.iframe-transport.js").SetVersion("1.6.1").SetDependencies("jQuery");
manifest.DefineScript("jQueryFileUpload").SetUrl("jquery.fileupload.min.js", "jquery.fileupload.js").SetVersion("1.6.1").SetDependencies("jQueryIFrameTransport").SetDependencies("jQueryUI_Widget");

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Afrikaans localisation for Gregorian/Julian calendars for jQuery.
Written by Renier Pretorius and Ruediger Thiede. */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['af'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['Januarie','Februarie','Maart','April','Mei','Junie',
'Julie','Augustus','September','Oktober','November','Desember'],
monthNamesShort: ['Jan', 'Feb', 'Mrt', 'Apr', 'Mei', 'Jun',
'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Des'],
dayNames: ['Sondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrydag', 'Saterdag'],
dayNamesShort: ['Son', 'Maan', 'Dins', 'Woens', 'Don', 'Vry', 'Sat'],
dayNamesMin: ['So','Ma','Di','Wo','Do','Vr','Sa'],
dateFormat: 'dd/mm/yyyy',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['af'] =
$.calendars.calendars.gregorian.prototype.regional['af'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Amharic (አማርኛ) localisation for Gregorian/Julian calendars for jQuery.
Leyu Sisay. */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['am'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['ጃንዋሪ','ፈብርዋሪ','ማርች','አፕሪል','ሜይ','ጁን',
'ጁላይ','ኦገስት','ሴፕቴምበር','ኦክቶበር','ኖቬምበር','ዲሴምበር'],
monthNamesShort: ['ጃንዋ', 'ፈብር', 'ማርች', 'አፕሪ', 'ሜይ', 'ጁን',
'ጁላይ', 'ኦገስ', 'ሴፕቴ', 'ኦክቶ', 'ኖቬም', 'ዲሴም'],
dayNames: ['ሰንዴይ', 'መንዴይ', 'ትዩስዴይ', 'ዌንስዴይ', 'ተርሰዴይ', 'ፍራይዴይ', 'ሳተርዴይ'],
dayNamesShort: ['ሰንዴ', 'መንዴ', 'ትዩስ', 'ዌንስ', 'ተርሰ', 'ፍራይ', 'ሳተር'],
dayNamesMin: ['ሰን', 'መን', 'ትዩ', 'ዌን', 'ተር', 'ፍራ', 'ሳተ'],
dateFormat: 'dd/mm/yyyy',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['am'] =
$.calendars.calendars.gregorian.prototype.regional['am'];
}
})(jQuery);

View File

@@ -0,0 +1,22 @@
/* http://keith-wood.name/calendars.html
Algerian (and Tunisian) Arabic localisation for Gregorian/Julian calendars for jQuery.
Mohamed Cherif BOUCHELAGHEM -- cherifbouchelaghem@yahoo.fr */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['ar-DZ'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['جانفي', 'فيفري', 'مارس', 'أفريل', 'ماي', 'جوان',
'جويلية', 'أوت', 'سبتمبر','أكتوبر', 'نوفمبر', 'ديسمبر'],
monthNamesShort: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'],
dayNames: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
dayNamesShort: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
dayNamesMin: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
dateFormat: 'dd/mm/yyyy',
firstDay: 6,
isRTL: true
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['ar-DZ'] =
$.calendars.calendars.gregorian.prototype.regional['ar-DZ'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Arabic localisation for Gregorian/Julian calendars for jQuery.
Mahmoud Khaled -- mahmoud.khaled@badrit.com
NOTE: monthNames are the new months names */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['ar-EG'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['يناير', 'فبراير', 'مارس', 'إبريل', 'مايو', 'يونية',
'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'],
monthNamesShort: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'],
dayNames: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
dayNamesShort: ['أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'],
dayNamesMin: ['أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'],
dateFormat: 'dd/mm/yyyy',
firstDay: 6,
isRTL: true
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['ar-EG'] =
$.calendars.calendars.gregorian.prototype.regional['ar-EG'];
}
})(jQuery);

View File

@@ -0,0 +1,24 @@
/* http://keith-wood.name/calendars.html
Arabic localisation for Gregorian/Julian calendars for jQuery.
Khaled Al Horani -- خالد الحوراني -- koko.dw@gmail.com. */
/* NOTE: monthNames are the original months names and they are the Arabic names,
not the new months name فبراير - يناير and there isn't any Arabic roots for these months */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['ar'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'آذار', 'حزيران',
'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'],
monthNamesShort: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'],
dayNames: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
dayNamesShort: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
dayNamesMin: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'],
dateFormat: 'dd/mm/yyyy',
firstDay: 6,
isRTL: true
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['ar'] =
$.calendars.calendars.gregorian.prototype.regional['ar'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Azerbaijani localisation for Gregorian/Julian calendars for jQuery.
Written by Jamil Najafov (necefov33@gmail.com). */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['az'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['Yanvar','Fevral','Mart','Aprel','May','İyun',
'İyul','Avqust','Sentyabr','Oktyabr','Noyabr','Dekabr'],
monthNamesShort: ['Yan','Fev','Mar','Apr','May','İyun',
'İyul','Avq','Sen','Okt','Noy','Dek'],
dayNames: ['Bazar','Bazar ertəsi','Çərşənbə axşamı','Çərşənbə','Cümə axşamı','Cümə','Şənbə'],
dayNamesShort: ['B','Be','Ça','Ç','Ca','C','Ş'],
dayNamesMin: ['B','B','Ç','С','Ç','C','Ş'],
dateFormat: 'dd.mm.yyyy',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['az'] =
$.calendars.calendars.gregorian.prototype.regional['az'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Bulgarian localisation for Gregorian/Julian calendars for jQuery.
Written by Stoyan Kyosev (http://svest.org). */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['bg'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['Януари','Февруари','Март','Април','Май','Юни',
'Юли','Август','Септември','Октомври','Ноември','Декември'],
monthNamesShort: ['Яну','Фев','Мар','Апр','Май','Юни',
'Юли','Авг','Сеп','Окт','Нов','Дек'],
dayNames: ['Неделя','Понеделник','Вторник','Сряда','Четвъртък','Петък','Събота'],
dayNamesShort: ['Нед','Пон','Вто','Сря','Чет','Пет','Съб'],
dayNamesMin: ['Не','По','Вт','Ср','Че','Пе','Съ'],
dateFormat: 'dd.mm.yyyy',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['bg'] =
$.calendars.calendars.gregorian.prototype.regional['bg'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Bosnian localisation for Gregorian/Julian calendars for jQuery.
Kenan Konjo. */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['bs'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['Januar','Februar','Mart','April','Maj','Juni',
'Juli','August','Septembar','Oktobar','Novembar','Decembar'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun',
'Jul','Aug','Sep','Okt','Nov','Dec'],
dayNames: ['Nedelja','Ponedeljak','Utorak','Srijeda','Četvrtak','Petak','Subota'],
dayNamesShort: ['Ned','Pon','Uto','Sri','Čet','Pet','Sub'],
dayNamesMin: ['Ne','Po','Ut','Sr','Če','Pe','Su'],
dateFormat: 'dd.mm.yy',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['bs'] =
$.calendars.calendars.gregorian.prototype.regional['bs'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Catalan localisation for Gregorian/Julian calendars for jQuery.
Writers: (joan.leon@gmail.com). */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['ca'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['Gener','Febrer','Mar&ccedil;','Abril','Maig','Juny',
'Juliol','Agost','Setembre','Octubre','Novembre','Desembre'],
monthNamesShort: ['Gen','Feb','Mar','Abr','Mai','Jun',
'Jul','Ago','Set','Oct','Nov','Des'],
dayNames: ['Diumenge','Dilluns','Dimarts','Dimecres','Dijous','Divendres','Dissabte'],
dayNamesShort: ['Dug','Dln','Dmt','Dmc','Djs','Dvn','Dsb'],
dayNamesMin: ['Dg','Dl','Dt','Dc','Dj','Dv','Ds'],
dateFormat: 'dd/mm/yyyy',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['ca'] =
$.calendars.calendars.gregorian.prototype.regional['ca'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Czech localisation for Gregorian/Julian calendars for jQuery.
Written by Tomas Muller (tomas@tomas-muller.net). */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['cs'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['leden','únor','březen','duben','květen','červen',
'červenec','srpen','září','říjen','listopad','prosinec'],
monthNamesShort: ['led','úno','bře','dub','kvě','čer',
'čvc','srp','zář','říj','lis','pro'],
dayNames: ['neděle', 'pondělí', 'úterý', 'středa', 'čtvrtek', 'pátek', 'sobota'],
dayNamesShort: ['ne', 'po', 'út', 'st', 'čt', 'pá', 'so'],
dayNamesMin: ['ne','po','út','st','čt','pá','so'],
dateFormat: 'dd.mm.yyyy',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['cs'] =
$.calendars.calendars.gregorian.prototype.regional['cs'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Danish localisation for Gregorian/Julian calendars for jQuery.
Written by Jan Christensen ( deletestuff@gmail.com). */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['da'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['Januar','Februar','Marts','April','Maj','Juni',
'Juli','August','September','Oktober','November','December'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun',
'Jul','Aug','Sep','Okt','Nov','Dec'],
dayNames: ['Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag'],
dayNamesShort: ['Søn','Man','Tir','Ons','Tor','Fre','Lør'],
dayNamesMin: ['Sø','Ma','Ti','On','To','Fr','Lø'],
dateFormat: 'dd-mm-yyyy',
firstDay: 0,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['da'] =
$.calendars.calendars.gregorian.prototype.regional['da'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Swiss-German localisation for Gregorian/Julian calendars for jQuery.
Written by Douglas Jose & Juerg Meier. */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['de-CH'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['Januar','Februar','März','April','Mai','Juni',
'Juli','August','September','Oktober','November','Dezember'],
monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun',
'Jul','Aug','Sep','Okt','Nov','Dez'],
dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'],
dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
dateFormat: 'dd.mm.yyyy',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['de-CH'] =
$.calendars.calendars.gregorian.prototype.regional['de-CH'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
German localisation for Gregorian/Julian calendars for jQuery.
Written by Milian Wolff (mail@milianw.de). */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['de'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['Januar','Februar','März','April','Mai','Juni',
'Juli','August','September','Oktober','November','Dezember'],
monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun',
'Jul','Aug','Sep','Okt','Nov','Dez'],
dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'],
dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
dateFormat: 'dd.mm.yyyy',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['de'] =
$.calendars.calendars.gregorian.prototype.regional['de'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Greek localisation for Gregorian/Julian calendars for jQuery.
Written by Alex Cicovic (http://www.alexcicovic.com). */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['el'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['Ιανουάριος','Φεβρουάριος','Μάρτιος','Απρίλιος','Μάιος','Ιούνιος',
'Ιούλιος','Αύγουστος','Σεπτέμβριος','Οκτώβριος','Νοέμβριος','Δεκέμβριος'],
monthNamesShort: ['Ιαν','Φεβ','Μαρ','Απρ','Μαι','Ιουν',
'Ιουλ','Αυγ','Σεπ','Οκτ','Νοε','Δεκ'],
dayNames: ['Κυριακή','Δευτέρα','Τρίτη','Τετάρτη','Πέμπτη','Παρασκευή','Σάββατο'],
dayNamesShort: ['Κυρ','Δευ','Τρι','Τετ','Πεμ','Παρ','Σαβ'],
dayNamesMin: ['Κυ','Δε','Τρ','Τε','Πε','Πα','Σα'],
dateFormat: 'dd/mm/yyyy',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['el'] =
$.calendars.calendars.gregorian.prototype.regional['el'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
English/Australia localisation for Gregorian/Julian calendars for jQuery.
Based on en-GB. */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['en-AU'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['January','February','March','April','May','June',
'July','August','September','October','November','December'],
monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
dayNamesMin: ['Su','Mo','Tu','We','Th','Fr','Sa'],
dateFormat: 'dd/mm/yyyy',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['en-AU'] =
$.calendars.calendars.gregorian.prototype.regional['en-AU'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
English/UK localisation for Gregorian/Julian calendars for jQuery.
Stuart. */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['en-GB'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['January','February','March','April','May','June',
'July','August','September','October','November','December'],
monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
dayNamesMin: ['Su','Mo','Tu','We','Th','Fr','Sa'],
dateFormat: 'dd/mm/yyyy',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['en-GB'] =
$.calendars.calendars.gregorian.prototype.regional['en-GB'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
English/New Zealand localisation for Gregorian/Julian calendars for jQuery.
Based on en-GB. */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['en-NZ'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['January','February','March','April','May','June',
'July','August','September','October','November','December'],
monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
dayNamesMin: ['Su','Mo','Tu','We','Th','Fr','Sa'],
dateFormat: 'dd/mm/yyyy',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['en-NZ'] =
$.calendars.calendars.gregorian.prototype.regional['en-NZ'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Esperanto localisation for Gregorian/Julian calendars for jQuery.
Written by Olivier M. (olivierweb@ifrance.com). */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['eo'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['Januaro','Februaro','Marto','Aprilo','Majo','Junio',
'Julio','Aŭgusto','Septembro','Oktobro','Novembro','Decembro'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun',
'Jul','Aŭg','Sep','Okt','Nov','Dec'],
dayNames: ['Dimanĉo','Lundo','Mardo','Merkredo','Ĵaŭdo','Vendredo','Sabato'],
dayNamesShort: ['Dim','Lun','Mar','Mer','Ĵaŭ','Ven','Sab'],
dayNamesMin: ['Di','Lu','Ma','Me','Ĵa','Ve','Sa'],
dateFormat: 'dd/mm/yyyy',
firstDay: 0,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['eo'] =
$.calendars.calendars.gregorian.prototype.regional['eo'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Spanish/Argentina localisation for Gregorian/Julian calendars for jQuery.
Written by Esteban Acosta Villafane (esteban.acosta@globant.com) of Globant (http://www.globant.com). */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['es-AR'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['Enero','Febrero','Marzo','Abril','Mayo','Junio',
'Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'],
monthNamesShort: ['Ene','Feb','Mar','Abr','May','Jun',
'Jul','Ago','Sep','Oct','Nov','Dic'],
dayNames: ['Domingo','Lunes','Martes','Miércoles','Jueves','Viernes','Sábado'],
dayNamesShort: ['Dom','Lun','Mar','Mié','Juv','Vie','Sáb'],
dayNamesMin: ['Do','Lu','Ma','Mi','Ju','Vi','Sá'],
dateFormat: 'dd/mm/yyyy',
firstDay: 0,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['es-AR'] =
$.calendars.calendars.gregorian.prototype.regional['es-AR'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Spanish/Perú localisation for Gregorian/Julian calendars for jQuery.
Written by Fischer Tirado (fishdev@globant.com) of ASIX (http://www.asixonline.com). */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['es-PE'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['Enero','Febrero','Marzo','Abril','Mayo','Junio',
'Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'],
monthNamesShort: ['Ene','Feb','Mar','Abr','May','Jun',
'Jul','Ago','Sep','Oct','Nov','Dic'],
dayNames: ['Domingo','Lunes','Martes','Miércoles','Jueves','Viernes','Sábado'],
dayNamesShort: ['Dom','Lun','Mar','Mié','Jue','Vie','Sab'],
dayNamesMin: ['Do','Lu','Ma','Mi','Ju','Vi','Sa'],
dateFormat: 'dd/mm/yyyy',
firstDay: 0,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['es-PE'] =
$.calendars.calendars.gregorian.prototype.regional['es-PE'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Spanish localisation for Gregorian/Julian calendars for jQuery.
Traducido por Vester (xvester@gmail.com). */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['es'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['Enero','Febrero','Marzo','Abril','Mayo','Junio',
'Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'],
monthNamesShort: ['Ene','Feb','Mar','Abr','May','Jun',
'Jul','Ago','Sep','Oct','Nov','Dic'],
dayNames: ['Domingo','Lunes','Martes','Miércoles','Jueves','Viernes','Sábado'],
dayNamesShort: ['Dom','Lun','Mar','Mié','Juv','Vie','Sáb'],
dayNamesMin: ['Do','Lu','Ma','Mi','Ju','Vi','Sá'],
dateFormat: 'dd/mm/yyyy',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['es'] =
$.calendars.calendars.gregorian.prototype.regional['es'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Estonian localisation for Gregorian/Julian calendars for jQuery.
Written by Mart Sõmermaa (mrts.pydev at gmail com). */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['et'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['Jaanuar','Veebruar','Märts','Aprill','Mai','Juuni',
'Juuli','August','September','Oktoober','November','Detsember'],
monthNamesShort: ['Jaan', 'Veebr', 'Märts', 'Apr', 'Mai', 'Juuni',
'Juuli', 'Aug', 'Sept', 'Okt', 'Nov', 'Dets'],
dayNames: ['Pühapäev', 'Esmaspäev', 'Teisipäev', 'Kolmapäev', 'Neljapäev', 'Reede', 'Laupäev'],
dayNamesShort: ['Pühap', 'Esmasp', 'Teisip', 'Kolmap', 'Neljap', 'Reede', 'Laup'],
dayNamesMin: ['P','E','T','K','N','R','L'],
dateFormat: 'dd.mm.yyyy',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['et'] =
$.calendars.calendars.gregorian.prototype.regional['et'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Basque localisation for Gregorian/Julian calendars for jQuery.
Karrikas-ek itzulia (karrikas@karrikas.com). */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['eu'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['Urtarrila','Otsaila','Martxoa','Apirila','Maiatza','Ekaina',
'Uztaila','Abuztua','Iraila','Urria','Azaroa','Abendua'],
monthNamesShort: ['Urt','Ots','Mar','Api','Mai','Eka',
'Uzt','Abu','Ira','Urr','Aza','Abe'],
dayNames: ['Igandea','Astelehena','Asteartea','Asteazkena','Osteguna','Ostirala','Larunbata'],
dayNamesShort: ['Iga','Ast','Ast','Ast','Ost','Ost','Lar'],
dayNamesMin: ['Ig','As','As','As','Os','Os','La'],
dateFormat: 'yyyy/mm/dd',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['eu'] =
$.calendars.calendars.gregorian.prototype.regional['eu'];
}
})(jQuery);

View File

@@ -0,0 +1,22 @@
/* http://keith-wood.name/calendars.html
Farsi/Persian localisation for Gregorian/Julian calendars for jQuery.
Javad Mowlanezhad -- jmowla@gmail.com */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['fa'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['فروردين','ارديبهشت','خرداد','تير','مرداد','شهريور',
'مهر','آبان','آذر','دي','بهمن','اسفند'],
monthNamesShort: ['1','2','3','4','5','6','7','8','9','10','11','12'],
dayNames: ['يکشنبه','دوشنبه','سه‌شنبه','چهارشنبه','پنجشنبه','جمعه','شنبه'],
dayNamesShort: ['ي','د','س','چ','پ','ج', 'ش'],
dayNamesMin: ['ي','د','س','چ','پ','ج', 'ش'],
dateFormat: 'yyyy/mm/dd',
firstDay: 6,
isRTL: true
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['fa'] =
$.calendars.calendars.gregorian.prototype.regional['fa'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Finnish localisation for Gregorian/Julian calendars for jQuery.
Written by Harri Kilpiö (harrikilpio@gmail.com). */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['fi'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['Tammikuu','Helmikuu','Maaliskuu','Huhtikuu','Toukokuu','Kes&auml;kuu',
'Hein&auml;kuu','Elokuu','Syyskuu','Lokakuu','Marraskuu','Joulukuu'],
monthNamesShort: ['Tammi','Helmi','Maalis','Huhti','Touko','Kes&auml;',
'Hein&auml;','Elo','Syys','Loka','Marras','Joulu'],
dayNamesShort: ['Su','Ma','Ti','Ke','To','Pe','Su'],
dayNames: ['Sunnuntai','Maanantai','Tiistai','Keskiviikko','Torstai','Perjantai','Lauantai'],
dayNamesMin: ['Su','Ma','Ti','Ke','To','Pe','La'],
dateFormat: 'dd.mm.yyyy',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['fi'] =
$.calendars.calendars.gregorian.prototype.regional['fi'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Faroese localisation for Gregorian/Julian calendars for jQuery.
Written by Sverri Mohr Olsen, sverrimo@gmail.com */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['fo'] = {
name: 'Gregorianskur',
epochs: ['BCE', 'CE'],
monthNames: ['Januar','Februar','Mars','Apríl','Mei','Juni',
'Juli','August','September','Oktober','November','Desember'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Mei','Jun',
'Jul','Aug','Sep','Okt','Nov','Des'],
dayNames: ['Sunnudagur','Mánadagur','Týsdagur','Mikudagur','Hósdagur','Fríggjadagur','Leyardagur'],
dayNamesShort: ['Sun','Mán','Týs','Mik','Hós','Frí','Ley'],
dayNamesMin: ['Su','Má','Tý','Mi','Hó','Fr','Le'],
dateFormat: 'dd-mm-yyyy',
firstDay: 0,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['fo'] =
$.calendars.calendars.gregorian.prototype.regional['fo'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Swiss French localisation for Gregorian/Julian calendars for jQuery.
Written by Martin Voelkle (martin.voelkle@e-tc.ch). */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['fr-CH'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['Janvier','Février','Mars','Avril','Mai','Juin',
'Juillet','Août','Septembre','Octobre','Novembre','Décembre'],
monthNamesShort: ['Jan','Fév','Mar','Avr','Mai','Jun',
'Jul','Aoû','Sep','Oct','Nov','Déc'],
dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'],
dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'],
dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa'],
dateFormat: 'dd.mm.yyyy',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['fr-CH'] =
$.calendars.calendars.gregorian.prototype.regional['fr-CH'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
French localisation for Gregorian/Julian calendars for jQuery.
Stéphane Nahmani (sholby@sholby.net). */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['fr'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['Janvier','Février','Mars','Avril','Mai','Juin',
'Juillet','Août','Septembre','Octobre','Novembre','Décembre'],
monthNamesShort: ['Jan','Fév','Mar','Avr','Mai','Jun',
'Jul','Aoû','Sep','Oct','Nov','Déc'],
dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'],
dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'],
dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa'],
dateFormat: 'dd/mm/yyyy',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['fr'] =
$.calendars.calendars.gregorian.prototype.regional['fr'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Iniciacion en galego para a extensión 'UI date picker' para jQuery.
Traducido por Manuel (McNuel@gmx.net). */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['gl'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['Xaneiro','Febreiro','Marzo','Abril','Maio','Xuño',
'Xullo','Agosto','Setembro','Outubro','Novembro','Decembro'],
monthNamesShort: ['Xan','Feb','Mar','Abr','Mai','Xuñ',
'Xul','Ago','Set','Out','Nov','Dec'],
dayNames: ['Domingo','Luns','Martes','Mércores','Xoves','Venres','Sábado'],
dayNamesShort: ['Dom','Lun','Mar','Mér','Xov','Ven','Sáb'],
dayNamesMin: ['Do','Lu','Ma','Me','Xo','Ve','Sá'],
dateFormat: 'dd/mm/yyyy',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['gl'] =
$.calendars.calendars.gregorian.prototype.regional['gl'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Gujarati (ગુજરાતી) localisation for Gregorian/Julian calendars for jQuery.
Naymesh Mistry (naymesh@yahoo.com). */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['gu'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['જાન્યુઆરી','ફેબ્રુઆરી','માર્ચ','એપ્રિલ','મે','જૂન',
'જુલાઈ','ઑગસ્ટ','સપ્ટેમ્બર','ઑક્ટોબર','નવેમ્બર','ડિસેમ્બર'],
monthNamesShort: ['જાન્યુ','ફેબ્રુ','માર્ચ','એપ્રિલ','મે','જૂન',
'જુલાઈ','ઑગસ્ટ','સપ્ટે','ઑક્ટો','નવે','ડિસે'],
dayNames: ['રવિવાર','સોમવાર','મંગળવાર','બુધવાર','ગુરુવાર','શુક્રવાર','શનિવાર'],
dayNamesShort: ['રવિ','સોમ','મંગળ','બુધ','ગુરુ','શુક્ર','શનિ'],
dayNamesMin: ['ર','સો','મં','બુ','ગુ','શુ','શ'],
dateFormat: 'dd-M-yyyy',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['gu'] =
$.calendars.calendars.gregorian.prototype.regional['gu'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Hebrew localisation for Gregorian/Julian calendars for jQuery.
Written by Amir Hardon (ahardon at gmail dot com). */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['he'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['ינואר','פברואר','מרץ','אפריל','מאי','יוני',
'יולי','אוגוסט','ספטמבר','אוקטובר','נובמבר','דצמבר'],
monthNamesShort: ['1','2','3','4','5','6',
'7','8','9','10','11','12'],
dayNames: ['ראשון','שני','שלישי','רביעי','חמישי','שישי','שבת'],
dayNamesShort: ['א\'','ב\'','ג\'','ד\'','ה\'','ו\'','שבת'],
dayNamesMin: ['א\'','ב\'','ג\'','ד\'','ה\'','ו\'','שבת'],
dateFormat: 'dd/mm/yyyy',
firstDay: 0,
isRTL: true
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['he'] =
$.calendars.calendars.gregorian.prototype.regional['he'];
}
})(jQuery);

View File

@@ -0,0 +1,21 @@
/* http://keith-wood.name/calendars.html
Hindi INDIA localisation for Gregorian/Julian calendars for jQuery.
Written by Pawan Kumar Singh. */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['hi-IN'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['जनवरी',' फरवरी', 'मार्च', 'अप्रैल', 'मई', 'जून','जुलाई', 'अगस्त', 'सितम्बर', 'अक्टूबर', 'नवम्बर', 'दिसम्बर'],
monthNamesShort: ['जन', 'फर', 'मार्च','अप्रै', 'मई', 'जून','जुलाई', 'अग', 'सित', 'अक्टू', 'नव', 'दिस'],
dayNames: ['रविवार', 'सोमवार', 'मंगलवार', 'बुधवार', 'गुरुवार', 'शुक्रवार', 'शनिवार'],
dayNamesShort: ['रवि', 'सोम', 'मंगल', 'बुध', 'गुरु', 'शुक्र', 'शनि'],
dayNamesMin: ['र','सो','मं','बु','गु','शु','श'],
dateFormat: 'dd/mm/yyyy',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['hi-IN'] =
$.calendars.calendars.gregorian.prototype.regional['hi-IN'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Croatian localisation for Gregorian/Julian calendars for jQuery.
Written by Vjekoslav Nesek. */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['hr'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['Siječanj','Veljača','Ožujak','Travanj','Svibanj','Lipanj',
'Srpanj','Kolovoz','Rujan','Listopad','Studeni','Prosinac'],
monthNamesShort: ['Sij','Velj','Ožu','Tra','Svi','Lip',
'Srp','Kol','Ruj','Lis','Stu','Pro'],
dayNames: ['Nedjelja','Ponedjeljak','Utorak','Srijeda','Četvrtak','Petak','Subota'],
dayNamesShort: ['Ned','Pon','Uto','Sri','Čet','Pet','Sub'],
dayNamesMin: ['Ne','Po','Ut','Sr','Če','Pe','Su'],
dateFormat: 'dd.mm.yyyy.',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['hr'] =
$.calendars.calendars.gregorian.prototype.regional['hr'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Hungarian localisation for Gregorian/Julian calendars for jQuery.
Written by Istvan Karaszi (jquerycalendar@spam.raszi.hu). */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['hu'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['Január', 'Február', 'Március', 'Április', 'Május', 'Június',
'Július', 'Augusztus', 'Szeptember', 'Október', 'November', 'December'],
monthNamesShort: ['Jan', 'Feb', 'Már', 'Ápr', 'Máj', 'Jún',
'Júl', 'Aug', 'Szep', 'Okt', 'Nov', 'Dec'],
dayNames: ['Vasárnap', 'Hétfö', 'Kedd', 'Szerda', 'Csütörtök', 'Péntek', 'Szombat'],
dayNamesShort: ['Vas', 'Hét', 'Ked', 'Sze', 'Csü', 'Pén', 'Szo'],
dayNamesMin: ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'],
dateFormat: 'yyyy-mm-dd',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['hu'] =
$.calendars.calendars.gregorian.prototype.regional['hu'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Armenian localisation for Gregorian/Julian calendars for jQuery.
Written by Levon Zakaryan (levon.zakaryan@gmail.com). */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['hy'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['Հունվար','Փետրվար','Մարտ','Ապրիլ','Մայիս','Հունիս',
'Հուլիս','Օգոստոս','Սեպտեմբեր','Հոկտեմբեր','Նոյեմբեր','Դեկտեմբեր'],
monthNamesShort: ['Հունվ','Փետր','Մարտ','Ապր','Մայիս','Հունիս',
'Հուլ','Օգս','Սեպ','Հոկ','Նոյ','Դեկ'],
dayNames: ['կիրակի','եկուշաբթի','երեքշաբթի','չորեքշաբթի','հինգշաբթի','ուրբաթ','շաբաթ'],
dayNamesShort: ['կիր','երկ','երք','չրք','հնգ','ուրբ','շբթ'],
dayNamesMin: ['կիր','երկ','երք','չրք','հնգ','ուրբ','շբթ'],
dateFormat: 'dd.mm.yyyy',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['hy'] =
$.calendars.calendars.gregorian.prototype.regional['hy'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Indonesian localisation for Gregorian/Julian calendars for jQuery.
Written by Deden Fathurahman (dedenf@gmail.com). */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['id'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['Januari','Februari','Maret','April','Mei','Juni',
'Juli','Agustus','September','Oktober','Nopember','Desember'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Mei','Jun',
'Jul','Agus','Sep','Okt','Nop','Des'],
dayNames: ['Minggu','Senin','Selasa','Rabu','Kamis','Jumat','Sabtu'],
dayNamesShort: ['Min','Sen','Sel','Rab','kam','Jum','Sab'],
dayNamesMin: ['Mg','Sn','Sl','Rb','Km','jm','Sb'],
dateFormat: 'dd/mm/yyyy',
firstDay: 0,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['id'] =
$.calendars.calendars.gregorian.prototype.regional['id'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Icelandic localisation for Gregorian/Julian calendars for jQuery.
Written by Haukur H. Thorsson (haukur@eskill.is). */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['is'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['Janúar','Febrúar','Mars','Apríl','Maí','Júní',
'Júlí','Ágúst','September','Október','Nóvember','Desember'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Maí','Jún',
'Júl','Ágú','Sep','Okt','Nóv','Des'],
dayNames: ['Sunnudagur','Mánudagur','Þriðjudagur','Miðvikudagur','Fimmtudagur','Föstudagur','Laugardagur'],
dayNamesShort: ['Sun','Mán','Þri','Mið','Fim','Fös','Lau'],
dayNamesMin: ['Su','Má','Þr','Mi','Fi','Fö','La'],
dateFormat: 'dd/mm/yyyy',
firstDay: 0,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['is'] =
$.calendars.calendars.gregorian.prototype.regional['is'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Italian localisation for Gregorian/Julian calendars for jQuery.
Written by Apaella (apaella@gmail.com). */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['it'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno',
'Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'],
monthNamesShort: ['Gen','Feb','Mar','Apr','Mag','Giu',
'Lug','Ago','Set','Ott','Nov','Dic'],
dayNames: ['Domenica','Lunedì','Martedì','Mercoledì','Giovedì','Venerdì','Sabato'],
dayNamesShort: ['Dom','Lun','Mar','Mer','Gio','Ven','Sab'],
dayNamesMin: ['Do','Lu','Ma','Me','Gio','Ve','Sa'],
dateFormat: 'dd/mm/yyyy',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['it'] =
$.calendars.calendars.gregorian.prototype.regional['it'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Japanese localisation for Gregorian/Julian calendars for jQuery.
Written by Kentaro SATO (kentaro@ranvis.com). */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['ja'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['1月','2月','3月','4月','5月','6月',
'7月','8月','9月','10月','11月','12月'],
monthNamesShort: ['1月','2月','3月','4月','5月','6月',
'7月','8月','9月','10月','11月','12月'],
dayNames: ['日曜日','月曜日','火曜日','水曜日','木曜日','金曜日','土曜日'],
dayNamesShort: ['日','月','火','水','木','金','土'],
dayNamesMin: ['日','月','火','水','木','金','土'],
dateFormat: 'yyyy/mm/dd',
firstDay: 0,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['ja'] =
$.calendars.calendars.gregorian.prototype.regional['ja'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Georgian localisation for Gregorian/Julian calendars for jQuery.
Andrei Gorbushkin. */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['ka'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['იანვარი','თებერვალი','მარტი','აპრილი','მაისი','ივნისი',
'ივლისი','აგვისტო','სექტემბერი','ოქტომბერი','ნოემბერი','დეკემბერი'],
monthNamesShort: ['იან', 'თებ', 'მარ', 'აპრ', 'მაისი', 'ივნ',
'ივლ', 'აგვ', 'სექ', 'ოქტ', 'ნოე', 'დეკ'],
dayNames: ['კვირა', 'ორშაბათი', 'სამშაბათი', 'ოთხშაბათი', 'ხუთშაბათი', 'პარასკევი', 'შაბათი'],
dayNamesShort: ['კვ', 'ორშ', 'სამ', 'ოთხ', 'ხუთ', 'პარ', 'შაბ'],
dayNamesMin: ['კვ','ორ','სმ','ოთ', 'ხშ', 'პრ','შბ'],
dateFormat: 'dd/mm/yyyy',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['ka'] =
$.calendars.calendars.gregorian.prototype.regional['ka'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Khmer initialisation for Gregorian/Julian calendars for jQuery.
Written by Sovichet Tep (sovichet.tep@gmail.com). */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['km'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['ខែ​មករា','ខែ​កុម្ភៈ','ខែ​មិនា','ខែ​មេសា','ខែ​ឧសភា','ខែ​មិថុនា',
'ខែ​កក្កដា','ខែ​សីហា','ខែ​កញ្ញា','ខែ​តុលា','ខែ​វិច្ឆិកា','ខែ​ធ្នូ'],
monthNamesShort: ['មក', 'កុ', 'មិនា', 'មេ', 'ឧស', 'មិថុ',
'កក្ក', 'សី', 'កញ្ញា', 'តុលា', 'វិច្ឆិ', 'ធ្នូ'],
dayNames: ['ថ្ងៃ​អាទិត្យ', 'ថ្ងៃ​ចន្ទ', 'ថ្ងៃ​អង្គារ', 'ថ្ងៃ​ពុធ', 'ថ្ងៃ​ព្រហស្បត្តិ៍', 'ថ្ងៃ​សុក្រ', 'ថ្ងៃ​សៅរ៍'],
dayNamesShort: ['អា', 'ចន្ទ', 'អង្គ', 'ពុធ', 'ព្រហ', 'សុ', 'សៅរ៍'],
dayNamesMin: ['អា','ច','អ','ពុ','ព្រ','សុ','ស'],
dateFormat: 'dd/mm/yyyy',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['km'] =
$.calendars.calendars.gregorian.prototype.regional['km'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Korean localisation for Gregorian/Julian calendars for jQuery.
Written by DaeKwon Kang (ncrash.dk@gmail.com), Edited by Genie. */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['ko'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['1월','2월','3월','4월','5월','6월',
'7월','8월','9월','10월','11월','12월'],
monthNamesShort: ['1월','2월','3월','4월','5월','6월',
'7월','8월','9월','10월','11월','12월'],
dayNames: ['일요일','월요일','화요일','수요일','목요일','금요일','토요일'],
dayNamesShort: ['일','월','화','수','목','금','토'],
dayNamesMin: ['일','월','화','수','목','금','토'],
dateFormat: 'yyyy-mm-dd',
firstDay: 0,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['ko'] =
$.calendars.calendars.gregorian.prototype.regional['ko'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Lithuanian localisation for Gregorian/Julian calendars for jQuery.
Arturas Paleicikas <arturas@avalon.lt>. */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['lt'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['Sausis','Vasaris','Kovas','Balandis','Gegužė','Birželis',
'Liepa','Rugpjūtis','Rugsėjis','Spalis','Lapkritis','Gruodis'],
monthNamesShort: ['Sau','Vas','Kov','Bal','Geg','Bir',
'Lie','Rugp','Rugs','Spa','Lap','Gru'],
dayNames: ['sekmadienis','pirmadienis','antradienis','trečiadienis','ketvirtadienis','penktadienis','šeštadienis'],
dayNamesShort: ['sek','pir','ant','tre','ket','pen','šeš'],
dayNamesMin: ['Se','Pr','An','Tr','Ke','Pe','Še'],
dateFormat: 'yyyy-mm-dd',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['lt'] =
$.calendars.calendars.gregorian.prototype.regional['lt'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Latvian localisation for Gregorian/Julian calendars for jQuery.
Arturas Paleicikas <arturas.paleicikas@metasite.net>. */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['lv'] = {
name: 'Gregorian',
epochs: ['BCE', 'CE'],
monthNames: ['Janvāris','Februāris','Marts','Aprīlis','Maijs','Jūnijs',
'Jūlijs','Augusts','Septembris','Oktobris','Novembris','Decembris'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Mai','Jūn',
'Jūl','Aug','Sep','Okt','Nov','Dec'],
dayNames: ['svētdiena','pirmdiena','otrdiena','trešdiena','ceturtdiena','piektdiena','sestdiena'],
dayNamesShort: ['svt','prm','otr','tre','ctr','pkt','sst'],
dayNamesMin: ['Sv','Pr','Ot','Tr','Ct','Pk','Ss'],
dateFormat: 'dd-mm-yyyy',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['lv'] =
$.calendars.calendars.gregorian.prototype.regional['lv'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Montenegrin localisation for Gregorian/Julian calendars for jQuery.
By Miloš Milošević - fleka d.o.o. */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['me-ME'] = {
name: 'Gregorijanski',
epochs: ['pne', 'ne'],
monthNames: ['Januar','Februar','Mart','April','Maj','Jun',
'Jul','Avgust','Septembar','Oktobar','Novembar','Decembar'],
monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun',
'Jul', 'Avg', 'Sep', 'Okt', 'Nov', 'Dec'],
dayNames: ['Neđelja', 'Poneđeljak', 'Utorak', 'Srijeda', 'Četvrtak', 'Petak', 'Subota'],
dayNamesShort: ['Neđ', 'Pon', 'Uto', 'Sri', 'Čet', 'Pet', 'Sub'],
dayNamesMin: ['Ne','Po','Ut','Sr','Če','Pe','Su'],
dateFormat: 'dd/mm/yyyy',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['me-ME'] =
$.calendars.calendars.gregorian.prototype.regional['me-ME'];
}
})(jQuery);

View File

@@ -0,0 +1,23 @@
/* http://keith-wood.name/calendars.html
Montenegrin localisation for Gregorian/Julian calendars for jQuery.
By Miloš Milošević - fleka d.o.o. */
(function($) {
$.calendars.calendars.gregorian.prototype.regional['me'] = {
name: 'Грегоријански',
epochs: ['пне', 'не'],
monthNames: ['Јануар','Фебруар','Март','Април','Мај','Јун',
'Јул','Август','Септембар','Октобар','Новембар','Децембар'],
monthNamesShort: ['Јан', 'Феб', 'Мар', 'Апр', 'Мај', 'Јун',
'Јул', 'Авг', 'Сеп', 'Окт', 'Нов', 'Дец'],
dayNames: ['Неђеља', 'Понеђељак', 'Уторак', 'Сриједа', 'Четвртак', 'Петак', 'Субота'],
dayNamesShort: ['Неђ', 'Пон', 'Уто', 'Сри', 'Чет', 'Пет', 'Суб'],
dayNamesMin: ['Не','По','Ут','Ср','Че','Пе','Су'],
dateFormat: 'dd/mm/yyyy',
firstDay: 1,
isRTL: false
};
if ($.calendars.calendars.julian) {
$.calendars.calendars.julian.prototype.regional['me'] =
$.calendars.calendars.gregorian.prototype.regional['me'];
}
})(jQuery);

Some files were not shown because too many files have changed in this diff Show More