Files
Orchard/src/Orchard.Web/Modules/Orchard.Fields/Views/EditorTemplates/Fields/Boolean.Edit.cshtml
2013-04-24 10:43:17 -07:00

47 lines
2.6 KiB
Plaintext

@model Orchard.Fields.Fields.BooleanField
@using Orchard.Utility.Extensions;
@using Orchard.Fields.Settings;
@{
var settings = Model.PartFieldDefinition.Settings.GetModel<BooleanFieldSettings>();
}
<fieldset>
<label for="@Html.FieldIdFor(m => m.Value)">@Model.DisplayName</label>
@switch (settings.SelectionMode) {
case SelectionMode.Checkbox:
<input type="checkbox" id="@(Html.FieldIdFor(m => m.Value))" value="true" name="@Html.FieldNameFor(m => m.Value)" @if(Model.Value.HasValue && Model.Value.Value) { <text>checked="checked"</text> } /><input name="@Html.FieldNameFor(m => m.Value)" type="hidden" value="false" />
<label class="forcheckbox" for="@(Html.FieldIdFor(m => m.Value))">@T(settings.OnLabel)</label>
break;
case SelectionMode.Radiobutton:
if (settings.Optional) {
<div>
<input type="radio" name="@Html.FieldNameFor(m => m.Value)" id="radio-unknown" value="" @if(!Model.Value.HasValue) { <text>checked="checked"</text> } />
<label for="radio-unknown" class="forcheckbox">@T(settings.NotSetLabel)</label>
</div>
}
<div>
<input type="radio" name="@Html.FieldNameFor(m => m.Value)" id="radio-true" value="true" @if (Model.Value.HasValue && Model.Value.Value) { <text>checked="checked"</text> } />
<label for="radio-true" class="forcheckbox">@T(settings.OnLabel)</label>
</div>
<div>
<input type="radio" name="@Html.FieldNameFor(m => m.Value)" id="radio-false" value="false" @if (Model.Value.HasValue && !Model.Value.Value) { <text>checked="checked"</text> } />
<label for="radio-false" class="forcheckbox">@T(settings.OffLabel)</label>
</div>
break;
case SelectionMode.Dropdown:
<select id="@(Html.FieldIdFor(m => m.Value) + "-dropdown")" name="@Html.FieldNameFor(m => m.Value)">
@if (settings.Optional) {
@Html.SelectOption("", !Model.Value.HasValue, T(settings.NotSetLabel).ToString())
}
@Html.SelectOption("true", (Model.Value.HasValue && Model.Value.Value), T(settings.OnLabel).ToString())
@Html.SelectOption("false", (Model.Value.HasValue && !Model.Value.Value), T(settings.OffLabel).ToString())
</select>
break;
default:
break;
}
@Html.ValidationMessageFor(m => m.Value)
@if (HasText(settings.Hint)) {
<span class="hint">@settings.Hint</span>
}
</fieldset>