Formatting Taxonomies source files

This commit is contained in:
Lombiq
2015-05-19 21:46:38 +02:00
parent 1f10abb9ea
commit 82602369c6
32 changed files with 305 additions and 302 deletions

View File

@@ -131,7 +131,7 @@ namespace Orchard.Taxonomies.Controllers {
while (null != (line = reader.ReadLine())) {
// ignore empty lines
if(String.IsNullOrWhiteSpace(line)) {
if (String.IsNullOrWhiteSpace(line)) {
continue;
}
@@ -146,13 +146,15 @@ namespace Orchard.Taxonomies.Controllers {
if (level == previousLevel + 1) {
parentTerm = parents.Peek();
parents.Push(new TermPosition { Term = term });
} else if (level == previousLevel) {
}
else if (level == previousLevel) {
// same parent term
if (parents.Any())
parents.Pop();
parents.Push(new TermPosition { Term = term });
} else if (level < previousLevel) {
}
else if (level < previousLevel) {
for (var i = previousLevel; i >= level; i--)
parents.Pop();
@@ -177,7 +179,8 @@ namespace Orchard.Taxonomies.Controllers {
if (scIndex != -1) {
term.Name = line.Substring(0, scIndex);
term.Slug = line.Substring(scIndex + 1);
} else {
}
else {
term.Name = line;
}
@@ -187,7 +190,7 @@ namespace Orchard.Taxonomies.Controllers {
if (existing != null && existing.Container.ContentItem.Record == term.Container.ContentItem.Record) {
Services.Notifier.Error(T("The term {0} already exists at this level", term.Name));
Services.TransactionManager.Cancel();
return View(new ImportViewModel {Taxonomy = taxonomy, Terms = terms});
return View(new ImportViewModel { Taxonomy = taxonomy, Terms = terms });
}
_taxonomyService.ProcessPath(term);

View File

@@ -137,7 +137,7 @@ namespace Orchard.Taxonomies.Controllers {
var terms = ResolveTermIds(termIds);
if(!terms.Any())
if (!terms.Any())
return HttpNotFound();
var model = new MoveTermViewModel {

View File

@@ -83,7 +83,7 @@ namespace Orchard.Taxonomies.Drivers {
protected override DriverResult Editor(ContentPart part, TaxonomyField field, IUpdateModel updater, dynamic shapeHelper) {
var viewModel = new TaxonomyFieldViewModel { Terms = new List<TermEntry>() };
if(updater.TryUpdateModel(viewModel, GetPrefix(field, part), null, null)) {
if (updater.TryUpdateModel(viewModel, GetPrefix(field, part), null, null)) {
var checkedTerms = viewModel.Terms
.Where(t => (t.IsChecked || t.Id == viewModel.SingleTermId))
.Select(t => GetOrCreateTerm(t, viewModel.TaxonomyId, field))
@@ -117,7 +117,7 @@ namespace Orchard.Taxonomies.Drivers {
}
var terms = termIdentities
.Split(new[] {','}, StringSplitOptions.RemoveEmptyEntries)
.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
.Select(context.GetItemFromSession)
.Where(contentItem => contentItem != null)
.ToList();

View File

@@ -113,8 +113,8 @@ namespace Orchard.Taxonomies.Drivers {
context.Element(part.PartDefinition.Name).SetAttributeValue("TaxonomyId", identity);
var identityPaths = new List<string>();
foreach(var pathPart in part.Path.Split('/')) {
if(String.IsNullOrEmpty(pathPart)) {
foreach (var pathPart in part.Path.Split('/')) {
if (String.IsNullOrEmpty(pathPart)) {
continue;
}
@@ -140,7 +140,7 @@ namespace Orchard.Taxonomies.Drivers {
part.TaxonomyId = contentItem.Id;
part.Path = "/";
foreach(var identityPath in context.Attribute(part.PartDefinition.Name, "Path").Split(new [] {','}, StringSplitOptions.RemoveEmptyEntries)) {
foreach (var identityPath in context.Attribute(part.PartDefinition.Name, "Path").Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)) {
var pathContentItem = context.GetItemFromSession(identityPath);
part.Path += pathContentItem.Id + "/";
}

View File

@@ -29,7 +29,7 @@ namespace Orchard.Taxonomies.Handlers {
// update existing fields
foreach (var partDefinition in contentDefinitionManager.ListPartDefinitions()) {
foreach (var field in partDefinition.Fields) {
if (field.FieldDefinition.Name == typeof (TaxonomyField).Name) {
if (field.FieldDefinition.Name == typeof(TaxonomyField).Name) {
if (field.Settings.GetModel<TaxonomyFieldSettings>().Taxonomy == previousName) {
contentDefinitionManager.AlterPartDefinition(partDefinition.Name,
@@ -42,7 +42,7 @@ namespace Orchard.Taxonomies.Handlers {
}
});
OnLoading<TaxonomyPart>( (context, part) => part.TermsField.Loader(() => taxonomyService.GetTerms(part.Id)));
OnLoading<TaxonomyPart>((context, part) => part.TermsField.Loader(() => taxonomyService.GetTerms(part.Id)));
OnUpdating<TitlePart>((context, part) => {
// if altering the title of a taxonomy, save the name

View File

@@ -6,11 +6,11 @@ using System.Linq;
namespace Orchard.Taxonomies.Helpers {
public static class TermExtensions {
public static int GetLevels(this TermPart term) {
return String.IsNullOrEmpty(term.Path) ? 0 : term.Path.Count( c => c == '/') - 1;
return String.IsNullOrEmpty(term.Path) ? 0 : term.Path.Count(c => c == '/') - 1;
}
public static int GetLevels(this TermEntry term) {
return String.IsNullOrEmpty(term.Path) ? 0 : term.Path.Count( c => c == '/') - 1;
return String.IsNullOrEmpty(term.Path) ? 0 : term.Path.Count(c => c == '/') - 1;
}
public static TermEntry CreateTermEntry(this TermPart term) {
@@ -20,7 +20,7 @@ namespace Orchard.Taxonomies.Helpers {
Selectable = term.Selectable,
Count = term.Count,
Path = term.Path,
Weight= term.Weight,
Weight = term.Weight,
IsChecked = false,
ContentItem = term.ContentItem
};

View File

@@ -98,12 +98,12 @@ namespace Orchard.Taxonomies.Models {
// /1/2 vs /1/3 => 2 vs 3
// /2/3 vs /4 => 2 vs 4
var xPath = x.FullPath.Split(new [] { '/' }, StringSplitOptions.RemoveEmptyEntries);
var yPath = y.FullPath.Split(new [] { '/' }, StringSplitOptions.RemoveEmptyEntries);
var xPath = x.FullPath.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
var yPath = y.FullPath.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
string xFullPath = "", yFullPath = "";
for(var i=0; i< Math.Min(xPath.Length, yPath.Length); i++) {
for (var i = 0; i < Math.Min(xPath.Length, yPath.Length); i++) {
xFullPath += "/" + xPath[i];
yFullPath += "/" + yPath[i];

View File

@@ -46,7 +46,7 @@ namespace Orchard.Taxonomies.Projections {
var terms = ids.Select(_taxonomyService.GetTerm).ToList();
var allChildren = new List<TermPart>();
foreach(var term in terms) {
foreach (var term in terms) {
allChildren.AddRange(_taxonomyService.GetChildren(term));
allChildren.Add(term);
}
@@ -55,7 +55,7 @@ namespace Orchard.Taxonomies.Projections {
var allIds = allChildren.Select(x => x.Id).ToList();
switch(op) {
switch (op) {
case 0: // is one of
// Unique alias so we always get a unique join everytime so can have > 1 HasTerms filter on a query.
Action<IAliasFactory> s = alias => alias.ContentPartRecord<TermsPartRecord>().Property("Terms", "terms" + _termsFilterId++);

View File

@@ -56,7 +56,7 @@ namespace Orchard.Taxonomies.Projections {
foreach (var term in _taxonomyService.GetTerms(taxonomy.Id)) {
var gap = new string('-', term.GetLevels());
if(gap.Length > 0) {
if (gap.Length > 0) {
gap += " ";
}
@@ -69,8 +69,8 @@ namespace Orchard.Taxonomies.Projections {
context.Form("SelectTerms",
form,
(Action<dynamic, ImportContentContext>) Import,
(Action<dynamic, ExportContentContext>) Export
(Action<dynamic, ImportContentContext>)Import,
(Action<dynamic, ExportContentContext>)Export
);
}
@@ -78,7 +78,7 @@ namespace Orchard.Taxonomies.Projections {
string termIds = Convert.ToString(state.TermIds);
if (!String.IsNullOrEmpty(termIds)) {
var ids = termIds.Split(new[] {','}).Select(Int32.Parse).ToArray();
var ids = termIds.Split(new[] { ',' }).Select(Int32.Parse).ToArray();
var terms = ids.Select(_taxonomyService.GetTerm).ToList();
var identities = terms.Select(context.ContentManager.GetItemMetadata).Select(x => x.Identity.ToString()).ToArray();

View File

@@ -40,8 +40,7 @@ namespace Orchard.Taxonomies.Services {
IOrchardServices services,
IProcessingEngine processingEngine,
ShellSettings shellSettings,
IShellDescriptorManager shellDescriptorManager)
{
IShellDescriptorManager shellDescriptorManager) {
_termContentItemRepository = termContentItemRepository;
_contentManager = contentManager;
_notifier = notifier;
@@ -226,7 +225,7 @@ namespace Orchard.Taxonomies.Services {
public void DeleteTerm(TermPart termPart) {
_contentManager.Remove(termPart.ContentItem);
foreach(var childTerm in GetChildren(termPart)) {
foreach (var childTerm in GetChildren(termPart)) {
_contentManager.Remove(childTerm.ContentItem);
}
@@ -244,7 +243,7 @@ namespace Orchard.Taxonomies.Services {
var termsPart = contentItem.As<TermsPart>();
// removing current terms for specific field
var termList = termsPart.Terms.Select((t, i) => new {Term = t, Index = i})
var termList = termsPart.Terms.Select((t, i) => new { Term = t, Index = i })
.Where(x => x.Term.Field == field)
.Select(x => x)
.OrderByDescending(i => i.Index)
@@ -255,13 +254,14 @@ namespace Orchard.Taxonomies.Services {
}
// adding new terms list
foreach(var term in terms) {
foreach (var term in terms) {
// Remove the newly added terms because they will get processed by the Published-Event
termList.RemoveAll(t => t.Term.Id == term.Id);
termsPart.Terms.Add(
new TermContentItem {
TermsPartRecord = termsPart.Record,
TermRecord = term.Record, Field = field
TermRecord = term.Record,
Field = field
});
}
@@ -282,7 +282,8 @@ namespace Orchard.Taxonomies.Services {
tpr => tpr.Terms.Any(tr =>
tr.TermRecord.Id == term.Id
|| tr.TermRecord.Path.StartsWith(rootPath)));
} else {
}
else {
query = query.Where(
tpr => tpr.Terms.Any(tr =>
tr.Field == fieldName
@@ -315,14 +316,14 @@ namespace Orchard.Taxonomies.Services {
.List();
if (includeParent) {
result = result.Concat(new [] {term});
result = result.Concat(new[] { term });
}
return TermPart.Sort(result);
}
public IEnumerable<TermPart> GetParents(TermPart term) {
return term.Path.Split(new [] {'/'}, StringSplitOptions.RemoveEmptyEntries).Select(id => GetTerm(int.Parse(id)));
return term.Path.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries).Select(id => GetTerm(int.Parse(id)));
}
public IEnumerable<string> GetSlugs() {
@@ -357,12 +358,12 @@ namespace Orchard.Taxonomies.Services {
public void ProcessPath(TermPart term) {
var parentTerm = term.Container.As<TermPart>();
term.Path = parentTerm != null ? parentTerm.FullPath + "/": "/";
term.Path = parentTerm != null ? parentTerm.FullPath + "/" : "/";
}
public void CreateHierarchy(IEnumerable<TermPart> terms, Action<TermPartNode, TermPartNode> append) {
var root = new TermPartNode();
var stack = new Stack<TermPartNode>(new [] { root } );
var stack = new Stack<TermPartNode>(new[] { root });
foreach (var term in terms) {
var current = CreateNode(term);

View File

@@ -41,7 +41,7 @@ namespace Orchard.Taxonomies.StandardQueries {
var containerId = (int)termParthId.ConvertTo(typeof(int));
var container = _contentManager.Get<TermPart>(containerId);
if(container == null){
if (container == null) {
return;
}

View File

@@ -5,10 +5,10 @@
Layout.Title = T("Import Terms for {0}", Model.Taxonomy.Name).Text;
}
@using(Html.BeginFormAntiForgeryPost()) {
@using (Html.BeginFormAntiForgeryPost()) {
@Html.ValidationSummary()
<fieldset>
<input type="hidden" value="@Model.Taxonomy.Id" name="id"/>
<input type="hidden" value="@Model.Taxonomy.Id" name="id" />
<textarea rows="25" cols="80" onkeydown="return interceptTabs(event, this);" name="terms">@Model.Terms</textarea>
<span class="hint">@T("One term per line, followed by a semi-colon and the slug")</span>
<span class="hint">@T("Hierarchies are defined using tabs (handled in this editor zone)")</span>
@@ -21,9 +21,9 @@
<input class="button" type="submit" value="@T("Import")" />
}
@using(Script.Foot()){
<script type="text/javascript">
//<![CDATA[
@using (Script.Foot()) {
<script type="text/javascript">
//<![CDATA[
function insertAtCursor(myField, myValue) {
//IE support
if (document.selection) {
@@ -43,7 +43,7 @@
myField.selectionStart = startPos + myValue.length;
myField.selectionEnd = startPos + myValue.length;
if (restoreTop>0) {
if (restoreTop > 0) {
myField.scrollTop = restoreTop;
}
}
@@ -54,7 +54,7 @@
function interceptTabs(evt, control) {
var key = evt.keyCode ? evt.keyCode : evt.which ? evt.which : evt.charCode;
if (key==9) {
if (key == 9) {
insertAtCursor(control, '\t');
return false;
}
@@ -62,6 +62,6 @@
return key;
}
}
//]]>
</script>
//]]>
</script>
}

View File

@@ -26,7 +26,7 @@
</colgroup>
<thead>
<tr>
<th scope="col"><input type="checkbox" class="check-all"/></th>
<th scope="col"><input type="checkbox" class="check-all" /></th>
<th scope="col">@T("Name")</th>
<th scope="col"></th>
</tr>
@@ -35,9 +35,9 @@
ti = taxonomyIndex;
<tr class="@(taxonomyEntry.IsInternal ? "internal" : null)">
<td>
<input type="hidden" value="@Model.Taxonomies[taxonomyIndex].Id" name="@Html.NameOf(m => m.Taxonomies[ti].Id)"/>
<input type="hidden" value="@Model.Taxonomies[taxonomyIndex].Id" name="@Html.NameOf(m => m.Taxonomies[ti].Id)" />
@if (!taxonomyEntry.IsInternal || Authorizer.Authorize(Orchard.Security.StandardPermissions.SiteOwner)) {
<input type="checkbox" value="true" name="@Html.NameOf(m => m.Taxonomies[ti].IsChecked)"/>
<input type="checkbox" value="true" name="@Html.NameOf(m => m.Taxonomies[ti].IsChecked)" />
}
</td>
<td>

View File

@@ -6,7 +6,7 @@
<label>@T("Select a taxonomy")</label>
<select id="@Html.FieldIdFor(m => m.Taxonomy)" name="@Html.FieldNameFor(m => m.Taxonomy)">
@Html.SelectOption(-1, false, T("Choose a taxonomy ...").ToString())
@foreach ( var taxonomy in Model.Taxonomies.OrderBy(t => t.Name) ) {
@foreach (var taxonomy in Model.Taxonomies.OrderBy(t => t.Name)) {
@Html.SelectOption(taxonomy.Name, Model.Taxonomy == taxonomy.Name, taxonomy.Name)
}
</select>
@@ -41,7 +41,7 @@
<fieldset>
<label for="@Html.FieldIdFor(m => m.Hint)">@T("Help text")</label>
@Html.TextAreaFor(m => m.Hint, new { @class = "text medium", rows = "5" } )
@Html.TextAreaFor(m => m.Hint, new { @class = "text medium", rows = "5" })
<span class="hint">@T("The help text is written under the field when authors are editing the content item.")</span>
@Html.ValidationMessageFor(m => m.Hint)
</fieldset>

View File

@@ -26,11 +26,11 @@
}
}
@{
var allTerms = Newtonsoft.Json.JsonConvert.SerializeObject(Model.Terms.Select(x => new { label = x.Name, value = x.Id, levels = x.GetLevels(), disabled = IsTermDisabled(x)}));
var allTerms = Newtonsoft.Json.JsonConvert.SerializeObject(Model.Terms.Select(x => new { label = x.Name, value = x.Id, levels = x.GetLevels(), disabled = IsTermDisabled(x) }));
var selectedTerms = Newtonsoft.Json.JsonConvert.SerializeObject(Model.Terms.Where(x => x.IsChecked).Select(x => new { label = x.Name, value = x.Id, levels = 0, disabled = true }));
}
<fieldset class="taxonomy-wrapper" data-name-prefix="@Html.FieldNameFor(m => m)" data-id-prefix="@Html.FieldIdFor(m => m)">
<legend @if(Model.Settings.Required) { <text>class="required"</text> }>@Model.DisplayName.CamelFriendly()</legend>
<legend @if (Model.Settings.Required) { <text> class="required" </text> }>@Model.DisplayName.CamelFriendly()</legend>
@if (Model.Settings.Autocomplete) {
<div class="terms-editor" data-all-terms="@allTerms" data-selected-terms="@selectedTerms" data-allow-new-terms="@Model.Settings.AllowCustomTerms.ToString().ToLower()" data-singlechoice="@Model.Settings.SingleChoice.ToString().ToLower()">
<ul></ul>
@@ -53,10 +53,10 @@
@{
var disabled = IsTermDisabled(entry);
if (Model.Settings.SingleChoice) {
<input @if (disabled){ <text>disabled="disabled"</text> } type="radio" value="@Model.Terms[ti].Id" @if (entry.Id == Model.SingleTermId){ <text>checked="checked"</text> } name="@Html.FieldNameFor(m => m.SingleTermId)" id="@Html.FieldIdFor(m => m.Terms[ti].IsChecked)" data-term="@entry.Name" data-term-identity="@entry.Name.ToLower()" />
<input @if (disabled) { <text> disabled="disabled" </text> } type="radio" value="@Model.Terms[ti].Id" @if (entry.Id == Model.SingleTermId) { <text> checked="checked" </text> } name="@Html.FieldNameFor(m => m.SingleTermId)" id="@Html.FieldIdFor(m => m.Terms[ti].IsChecked)" data-term="@entry.Name" data-term-identity="@entry.Name.ToLower()" />
}
else {
<input @if (disabled){ <text>disabled="disabled"</text> } type="checkbox" value="true" @if (entry.IsChecked) { <text>checked="checked"</text> } name="@Html.FieldNameFor(m => m.Terms[ti].IsChecked)" id="@Html.FieldIdFor(m => m.Terms[ti].IsChecked)" data-term="@entry.Name" data-term-identity="@entry.Name.ToLower()" />
<input @if (disabled) { <text> disabled="disabled" </text> } type="checkbox" value="true" @if (entry.IsChecked) { <text> checked="checked" </text> } name="@Html.FieldNameFor(m => m.Terms[ti].IsChecked)" id="@Html.FieldIdFor(m => m.Terms[ti].IsChecked)" data-term="@entry.Name" data-term-identity="@entry.Name.ToLower()" />
}
}
<label class="forcheckbox" for="@Html.FieldIdFor(m => m.Terms[ti].IsChecked)">@entry.Name</label>

View File

@@ -14,11 +14,10 @@
}
<fieldset class="taxonomy-wrapper" data-name-prefix="@Html.FieldNameFor(m => m)" data-id-prefix="@Html.FieldIdFor(m => m)">
<legend @if(settings.Required) { <text>class="required"</text> }>@Model.DisplayName.CamelFriendly()</legend>
<legend @if (settings.Required) { <text> class="required" </text> }>@Model.DisplayName.CamelFriendly()</legend>
<div class="expando">
@if (!String.IsNullOrWhiteSpace(Model.Settings.Hint))
{
@if (!String.IsNullOrWhiteSpace(Model.Settings.Hint)) {
<span class="hint">@Model.Settings.Hint</span>
}
@@ -26,14 +25,14 @@
@foreach (var entry in Model.Terms) {
var ti = termIndex;
<li>
@* Tabs for levels *@ @for (var i = 1; i <= entry.GetLevels(); i++){ <span class="gap">&nbsp;</span> }
@* Tabs for levels *@ @for (var i = 1; i <= entry.GetLevels(); i++) { <span class="gap">&nbsp;</span> }
@{
var disabled = !entry.Selectable || (Model.Settings.LeavesOnly && Model.Terms.Any(t => t.Path.Contains(entry.Path + entry.Id)));
if (Model.Settings.SingleChoice) {
<input @if (disabled){ <text>disabled="disabled"</text> } type="radio" value="@Model.Terms[ti].Id" @if (entry.Id == Model.SingleTermId) { <text>checked="checked"</text> } name="@Html.FieldNameFor(m => m.SingleTermId)" id="@Html.FieldIdFor(m => m.Terms[ti].IsChecked)" data-term="@entry.Name.ToLower()"/>
<input @if (disabled) { <text> disabled="disabled" </text> } type="radio" value="@Model.Terms[ti].Id" @if (entry.Id == Model.SingleTermId) { <text> checked="checked" </text> } name="@Html.FieldNameFor(m => m.SingleTermId)" id="@Html.FieldIdFor(m => m.Terms[ti].IsChecked)" data-term="@entry.Name.ToLower()" />
}
else {
<input @if (disabled) { <text>disabled="disabled"</text> } type="checkbox" value="true" @if (entry.IsChecked){ <text>checked="checked"</text> } name="@Html.FieldNameFor(m => m.Terms[ti].IsChecked)" id="@Html.FieldIdFor(m => m.Terms[ti].IsChecked)" data-term="@entry.Name.ToLower()"/>
<input @if (disabled) { <text> disabled="disabled" </text> } type="checkbox" value="true" @if (entry.IsChecked) { <text> checked="checked" </text> } name="@Html.FieldNameFor(m => m.Terms[ti].IsChecked)" id="@Html.FieldIdFor(m => m.Terms[ti].IsChecked)" data-term="@entry.Name.ToLower()" />
}
}
@Html.HiddenFor(m => m.Terms[ti].Id)

View File

@@ -28,7 +28,7 @@
<fieldset>
<label for="@Html.FieldIdFor( m => m.LevelsToDisplay)">@T("Levels to display")</label>
@Html.TextBoxFor(m => m.LevelsToDisplay, new { @class = "text small" } )
@Html.TextBoxFor(m => m.LevelsToDisplay, new { @class = "text small" })
@Html.ValidationMessage("LevelsToDisplay", "*")
<span class="hint">@T("The number of levels to display in the hierarchy. 0 to display all levels.")</span>
</fieldset>
@@ -46,7 +46,7 @@
</fieldset>
@using (Script.Foot()) {
<script type="text/javascript">
<script type="text/javascript">
//<![CDATA[
$(function () {
$('#@Html.FieldIdFor(m => m.SelectedTaxonomyId)').change(function () {
@@ -63,5 +63,5 @@
});
})
//]]>
</script>
</script>
}

View File

@@ -4,8 +4,8 @@
string name = @Model.ContentField.DisplayName;
}
@if (Model.Terms.Count > 0) {
<p class="taxonomy-field">
<p class="taxonomy-field">
<span class="name">@name.CamelFriendly():</span>
@(new HtmlString( string.Join(", ", terms.Select(t => Html.ItemDisplayLink(t.Name, t.ContentItem ).ToString()).ToArray()) ))
</p>
@(new HtmlString(string.Join(", ", terms.Select(t => Html.ItemDisplayLink(t.Name, t.ContentItem).ToString()).ToArray())))
</p>
}

View File

@@ -11,7 +11,7 @@
<label for="@Html.FieldIdFor(m => m.SelectedTermId)">@T("Parent term")</label>
<select name="@Html.FieldNameFor(m => m.SelectedTermId)" id="@Html.FieldIdFor(m => m.SelectedTermId)">
@foreach(var term in Model.Terms) {
@foreach (var term in Model.Terms) {
<option value="@term.Id">@T(term.Name)</option>
}
</select>

View File

@@ -11,7 +11,7 @@
<select id="@Html.FieldIdFor(m => m.SelectedTermId)" name="@Html.FieldNameFor(m => m.SelectedTermId)">
@Html.SelectOption(-1, false, T("- None -").ToString())
@foreach (var term in Model.Terms) {
<option @if (term.Id == Model.SelectedTermId) { <text>selected="selected"</text> } value="@term.Id">@for (var i = 1; i <= term.GetLevels(); i++) { <span class="gap">&nbsp;</span> }@term.Name</option>
<option @if (term.Id == Model.SelectedTermId) { <text> selected="selected" </text> } value="@term.Id">@for (var i = 1; i <= term.GetLevels(); i++) { <span class="gap">&nbsp;</span> }@term.Name</option>
}
</select>
<span class="hint">@T("By selecting a parent term you can create hierarchies")</span>

View File

@@ -3,5 +3,5 @@
@using Orchard.Taxonomies.Helpers;
@foreach (var term in Model.Terms) {
<option @if (term.Id == Model.SelectedTermId) { <text>selected="selected"</text> } value="@term.Id">@for (var i = 1; i <= term.GetLevels(); i++) { <span class="gap">&nbsp;</span> }@term.Name</option>
<option @if (term.Id == Model.SelectedTermId) { <text> selected="selected" </text> } value="@term.Id">@for (var i = 1; i <= term.GetLevels(); i++) { <span class="gap">&nbsp;</span> }@term.Name</option>
}

View File

@@ -9,7 +9,7 @@
<select id="@Html.FieldIdFor(m => m.SelectedTermId)" name="@Html.FieldNameFor(m => m.SelectedTermId)">
@Html.SelectOption(-1, false, T("- None -").ToString())
@foreach (var term in Model.Terms) {
<option @if (term.Id == Model.SelectedTermId) { <text>selected="selected"</text> } value="@term.Id">@for (var i = 1; i <= term.GetLevels(); i++) { <span class="gap">&nbsp;</span> }@term.Name</option>
<option @if (term.Id == Model.SelectedTermId) { <text> selected="selected" </text> } value="@term.Id">@for (var i = 1; i <= term.GetLevels(); i++) { <span class="gap">&nbsp;</span> }@term.Name</option>
}
</select>
<span class="hint">@T("By selecting a parent term you can create hierarchies")</span>