mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
Merge branch '1.9-int' into 1.x
Conflicts: src/Orchard.Web/Modules/Orchard.MediaLibrary/MediaFileName/MediaFileNameEditorSettings.cs src/Orchard.Web/Modules/Orchard.Search/Handlers/SearchSettingsPartHandler.cs
This commit is contained in:
@@ -11,4 +11,8 @@
|
||||
.layout-editor .layout-content > .layout-element-wrapper .layout-content-markup > .form-field-element input[type="tel"],
|
||||
.layout-editor .layout-content > .layout-element-wrapper .layout-content-markup > .form-field-element textarea {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.layout-editor .layout-content > .layout-element-wrapper .layout-content-markup > .form-field-element.form-field-element-enumeration ol {
|
||||
list-style: none;
|
||||
}
|
||||
@@ -1,12 +1,11 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var element = (Button)Model.Element;
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("button"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "button");
|
||||
|
||||
tagBuilder.Attributes["type"] = "submit";
|
||||
tagBuilder.Attributes["name"] = element.Name;
|
||||
tagBuilder.SetInnerText(element.Text);
|
||||
}
|
||||
@Html.Raw(tagBuilder.ToString(TagRenderMode.Normal))
|
||||
@tagBuilder.ToHtmlString()
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var element = (CheckBox)Model.Element;
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("input"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "input");
|
||||
|
||||
tagBuilder.Attributes["type"] = "checkbox";
|
||||
tagBuilder.Attributes["name"] = element.Name;
|
||||
@@ -11,10 +10,10 @@
|
||||
}
|
||||
@if (element.ShowLabel) {
|
||||
<label>
|
||||
@Html.Raw(tagBuilder.ToString(TagRenderMode.SelfClosing))
|
||||
@tagBuilder.ToHtmlString(TagRenderMode.SelfClosing)
|
||||
@Html.Raw(element.Label)
|
||||
</label>
|
||||
}
|
||||
else {
|
||||
@Html.Raw(tagBuilder.ToString(TagRenderMode.SelfClosing))
|
||||
@tagBuilder.ToHtmlString(TagRenderMode.SelfClosing)
|
||||
}
|
||||
@@ -1,9 +1,8 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var element = (CheckBox)Model.Element;
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("input"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "input");
|
||||
|
||||
tagBuilder.Attributes["type"] = "checkbox";
|
||||
tagBuilder.Attributes["name"] = element.Name;
|
||||
@@ -16,12 +15,12 @@
|
||||
}
|
||||
@if (element.ShowLabel) {
|
||||
<label>
|
||||
@Html.Raw(tagBuilder.ToString(TagRenderMode.SelfClosing))
|
||||
@tagBuilder.ToHtmlString(TagRenderMode.SelfClosing)
|
||||
@Html.Raw(element.Label)
|
||||
</label>
|
||||
}
|
||||
else {
|
||||
@Html.Raw(tagBuilder.ToString(TagRenderMode.SelfClosing))
|
||||
@tagBuilder.ToHtmlString(TagRenderMode.SelfClosing)
|
||||
}
|
||||
@if (element.ValidationSettings.ShowValidationMessage == true) {
|
||||
@Html.ValidationMessage(element.Name)
|
||||
|
||||
+4
-5
@@ -1,9 +1,8 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var element = (EmailField)Model.Element;
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("input"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "input");
|
||||
|
||||
tagBuilder.AddCssClass("text design");
|
||||
tagBuilder.Attributes["type"] = "email";
|
||||
@@ -14,9 +13,9 @@
|
||||
@if (element.ShowLabel) {
|
||||
<div>
|
||||
<label for="@element.HtmlId">@element.Label</label>
|
||||
@Html.Raw(tagBuilder.ToString(TagRenderMode.SelfClosing))
|
||||
@tagBuilder.ToHtmlString(TagRenderMode.SelfClosing)
|
||||
</div>
|
||||
}
|
||||
else {
|
||||
@Html.Raw(tagBuilder.ToString(TagRenderMode.SelfClosing))
|
||||
@tagBuilder.ToHtmlString(TagRenderMode.SelfClosing)
|
||||
}
|
||||
@@ -1,15 +1,14 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var element = (EmailField)Model.Element;
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("input"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "input");
|
||||
|
||||
tagBuilder.AddCssClass("text");
|
||||
tagBuilder.Attributes["type"] = "email";
|
||||
tagBuilder.Attributes["value"] = Model.TokenizedValue;
|
||||
tagBuilder.Attributes["name"] = element.Name;
|
||||
tagBuilder.AddClientValidationAttributes((IDictionary<string, string>)Model.ClientValidationAttributes);
|
||||
tagBuilder.AddClientValidationAttributes(Model.ClientValidationAttributes);
|
||||
|
||||
if (!ViewData.ModelState.IsValidField(element.Name)) {
|
||||
tagBuilder.AddCssClass("input-validation-error");
|
||||
@@ -19,7 +18,7 @@
|
||||
@if (element.ShowLabel) {
|
||||
<label for="@element.HtmlId">@element.Label</label>
|
||||
}
|
||||
@Html.Raw(tagBuilder.ToString(TagRenderMode.SelfClosing))
|
||||
@tagBuilder.ToHtmlString(TagRenderMode.SelfClosing)
|
||||
@if (element.ValidationSettings.ShowValidationMessage == true) {
|
||||
@Html.ValidationMessage(element.Name)
|
||||
}
|
||||
+2
-3
@@ -1,9 +1,8 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var element = (Enumeration)Model.Element;
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("ol"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "ol");
|
||||
}
|
||||
@if (element.ShowLabel) {
|
||||
<label>@Html.Raw(element.Label)</label>
|
||||
|
||||
+2
-2
@@ -3,7 +3,7 @@
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var element = (Enumeration)Model.Element;
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("ol"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "ol");
|
||||
var index = 0;
|
||||
}
|
||||
@if (element.ShowLabel) {
|
||||
@@ -20,7 +20,7 @@
|
||||
}
|
||||
<li>
|
||||
<label>
|
||||
@Html.Raw(inputTagBuilder.ToString(TagRenderMode.SelfClosing))
|
||||
@inputTagBuilder.ToHtmlString(TagRenderMode.SelfClosing)
|
||||
@option.Text
|
||||
</label>
|
||||
</li>
|
||||
|
||||
+2
-3
@@ -1,9 +1,8 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var element = (Enumeration)Model.Element;
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("ol"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "ol");
|
||||
}
|
||||
@if (element.ShowLabel) {
|
||||
<label>@Html.Raw(element.Label)</label>
|
||||
|
||||
+2
-2
@@ -3,7 +3,7 @@
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var element = (Enumeration)Model.Element;
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("ol"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "ol");
|
||||
var index = 0;
|
||||
}
|
||||
@if (element.ShowLabel) {
|
||||
@@ -20,7 +20,7 @@
|
||||
}
|
||||
<li>
|
||||
<label>
|
||||
@Html.Raw(inputTagBuilder.ToString(TagRenderMode.SelfClosing))
|
||||
@inputTagBuilder.ToHtmlString(TagRenderMode.SelfClosing)
|
||||
@option.Text
|
||||
</label>
|
||||
</li>
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
@using Orchard.ContentManagement
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
@@ -8,7 +7,7 @@
|
||||
@{
|
||||
var contentItem = (ContentItem) Model.ContentItem;
|
||||
var element = (Form) Model.Element;
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("div"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model);
|
||||
var formName = element.Name;
|
||||
var formAction = String.IsNullOrWhiteSpace(element.Action) ? Url.Action("Submit", "Form", new { area = "Orchard.DynamicForms"}) : element.Action;
|
||||
var formMethod = !String.IsNullOrWhiteSpace(element.Method) ? element.Method : "POST";
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var element = (HiddenField) Model.Element;
|
||||
var tagBuilder = TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("input"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "input");
|
||||
|
||||
tagBuilder.AddCssClass("text");
|
||||
tagBuilder.Attributes["type"] = "hidden";
|
||||
@@ -11,4 +10,4 @@
|
||||
tagBuilder.Attributes["name"] = element.Name;
|
||||
}
|
||||
|
||||
@Html.Raw(tagBuilder.ToString(TagRenderMode.SelfClosing))
|
||||
@tagBuilder.ToHtmlString(TagRenderMode.SelfClosing)
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("label"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "label");
|
||||
var label = (Label) Model.Element;
|
||||
|
||||
tagBuilder.Attributes["for"] = label.For;
|
||||
tagBuilder.InnerHtml = label.Text;
|
||||
}
|
||||
|
||||
@Html.Raw(tagBuilder.ToString(TagRenderMode.Normal))
|
||||
@tagBuilder.ToHtmlString(TagRenderMode.Normal)
|
||||
|
||||
+4
-5
@@ -1,9 +1,8 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var element = (PasswordField)Model.Element;
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("input"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "input");
|
||||
|
||||
tagBuilder.AddCssClass("text design");
|
||||
tagBuilder.Attributes["type"] = "password";
|
||||
@@ -14,9 +13,9 @@
|
||||
@if (element.ShowLabel) {
|
||||
<div>
|
||||
<label for="@element.HtmlId">@element.Label</label>
|
||||
@Html.Raw(tagBuilder.ToString(TagRenderMode.SelfClosing))
|
||||
@tagBuilder.ToHtmlString(TagRenderMode.SelfClosing)
|
||||
</div>
|
||||
}
|
||||
else {
|
||||
@Html.Raw(tagBuilder.ToString(TagRenderMode.SelfClosing))
|
||||
@tagBuilder.ToHtmlString(TagRenderMode.SelfClosing)
|
||||
}
|
||||
@@ -1,9 +1,8 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var element = (PasswordField)Model.Element;
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("input"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "input");
|
||||
|
||||
tagBuilder.AddCssClass("text");
|
||||
tagBuilder.Attributes["type"] = "password";
|
||||
@@ -18,7 +17,7 @@
|
||||
@if (element.ShowLabel) {
|
||||
<label for="@element.HtmlId">@element.Label</label>
|
||||
}
|
||||
@Html.Raw(tagBuilder.ToString(TagRenderMode.SelfClosing))
|
||||
@tagBuilder.ToHtmlString(TagRenderMode.SelfClosing)
|
||||
@if (element.ValidationSettings.ShowValidationMessage == true) {
|
||||
@Html.ValidationMessage(element.Name)
|
||||
}
|
||||
+2
-3
@@ -1,9 +1,8 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var element = (Query)Model.Element;
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("ol"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "ol");
|
||||
}
|
||||
@if (element.ShowLabel) {
|
||||
<label>@Html.Raw(element.Label)</label>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var element = (Query)Model.Element;
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("ol"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "ol");
|
||||
var index = 0;
|
||||
}
|
||||
@if (element.ShowLabel) {
|
||||
@@ -20,7 +20,7 @@
|
||||
}
|
||||
<li>
|
||||
<label>
|
||||
@Html.Raw(inputTagBuilder.ToString(TagRenderMode.SelfClosing))
|
||||
@inputTagBuilder.ToHtmlString(TagRenderMode.SelfClosing)
|
||||
@option.Text
|
||||
</label>
|
||||
</li>
|
||||
|
||||
+2
-3
@@ -1,9 +1,8 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var element = (Query)Model.Element;
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("ol"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "ol");
|
||||
}
|
||||
@if (element.ShowLabel) {
|
||||
<label>@Html.Raw(element.Label)</label>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var element = (Query)Model.Element;
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("ol"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "ol");
|
||||
var index = 0;
|
||||
}
|
||||
@if (element.ShowLabel) {
|
||||
@@ -20,7 +20,7 @@
|
||||
}
|
||||
<li>
|
||||
<label>
|
||||
@Html.Raw(inputTagBuilder.ToString(TagRenderMode.SelfClosing))
|
||||
@inputTagBuilder.ToHtmlString(TagRenderMode.SelfClosing)
|
||||
@option.Text
|
||||
</label>
|
||||
</li>
|
||||
|
||||
+4
-5
@@ -1,9 +1,8 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var element = (RadioButton)Model.Element;
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("input"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "input");
|
||||
|
||||
tagBuilder.Attributes["type"] = "radio";
|
||||
tagBuilder.Attributes["name"] = element.Name;
|
||||
@@ -11,10 +10,10 @@
|
||||
}
|
||||
@if (element.ShowLabel) {
|
||||
<label>
|
||||
@Html.Raw(tagBuilder.ToString(TagRenderMode.SelfClosing))
|
||||
@tagBuilder.ToHtmlString(TagRenderMode.SelfClosing)
|
||||
@Html.Raw(element.Label)
|
||||
</label>
|
||||
}
|
||||
else {
|
||||
@Html.Raw(tagBuilder.ToString(TagRenderMode.SelfClosing))
|
||||
@tagBuilder.ToHtmlString(TagRenderMode.SelfClosing)
|
||||
}
|
||||
@@ -1,9 +1,8 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var element = (RadioButton)Model.Element;
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("input"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "input");
|
||||
|
||||
tagBuilder.Attributes["type"] = "radio";
|
||||
tagBuilder.Attributes["name"] = element.Name;
|
||||
@@ -11,10 +10,10 @@
|
||||
}
|
||||
@if (element.ShowLabel) {
|
||||
<label>
|
||||
@Html.Raw(tagBuilder.ToString(TagRenderMode.SelfClosing))
|
||||
@tagBuilder.ToHtmlString(TagRenderMode.SelfClosing)
|
||||
@Html.Raw(element.Label)
|
||||
</label>
|
||||
}
|
||||
else {
|
||||
@Html.Raw(tagBuilder.ToString(TagRenderMode.SelfClosing))
|
||||
@tagBuilder.ToHtmlString(TagRenderMode.SelfClosing)
|
||||
}
|
||||
@@ -1,8 +1,7 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("div"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model);
|
||||
var element = (ReCaptcha)Model.Element;
|
||||
var publicKey = (string)Model.PublicKey;
|
||||
}
|
||||
|
||||
+2
-3
@@ -1,9 +1,8 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var element = (Taxonomy)Model.Element;
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("ol"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "ol");
|
||||
}
|
||||
@if (element.ShowLabel) {
|
||||
<label>@Html.Raw(element.Label)</label>
|
||||
|
||||
+2
-2
@@ -3,7 +3,7 @@
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var element = (Taxonomy)Model.Element;
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("ol"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "ol");
|
||||
var index = 0;
|
||||
}
|
||||
@if (element.ShowLabel) {
|
||||
@@ -20,7 +20,7 @@
|
||||
}
|
||||
<li>
|
||||
<label>
|
||||
@Html.Raw(inputTagBuilder.ToString(TagRenderMode.SelfClosing))
|
||||
@inputTagBuilder.ToHtmlString(TagRenderMode.SelfClosing)
|
||||
@option.Text
|
||||
</label>
|
||||
</li>
|
||||
|
||||
+2
-3
@@ -1,9 +1,8 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var element = (Taxonomy)Model.Element;
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("ol"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "ol");
|
||||
}
|
||||
@if (element.ShowLabel) {
|
||||
<label>@Html.Raw(element.Label)</label>
|
||||
|
||||
+2
-2
@@ -3,7 +3,7 @@
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var element = (Taxonomy)Model.Element;
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("ol"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "ol");
|
||||
var index = 0;
|
||||
}
|
||||
@if (element.ShowLabel) {
|
||||
@@ -20,7 +20,7 @@
|
||||
}
|
||||
<li>
|
||||
<label>
|
||||
@Html.Raw(inputTagBuilder.ToString(TagRenderMode.SelfClosing))
|
||||
@inputTagBuilder.ToHtmlString(TagRenderMode.SelfClosing)
|
||||
@option.Text
|
||||
</label>
|
||||
</li>
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var element = (TextArea)Model.Element;
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("textarea"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "textarea");
|
||||
|
||||
tagBuilder.AddCssClass("text design");
|
||||
tagBuilder.Attributes["name"] = element.Name;
|
||||
@@ -22,9 +21,9 @@
|
||||
@if (element.ShowLabel) {
|
||||
<div>
|
||||
<label for="@element.HtmlId">@element.Label</label>
|
||||
@Html.Raw(tagBuilder.ToString(TagRenderMode.Normal))
|
||||
@tagBuilder.ToHtmlString(TagRenderMode.Normal)
|
||||
</div>
|
||||
}
|
||||
else {
|
||||
@Html.Raw(tagBuilder.ToString(TagRenderMode.Normal))
|
||||
@tagBuilder.ToHtmlString(TagRenderMode.Normal)
|
||||
}
|
||||
@@ -1,9 +1,8 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var element = (TextArea)Model.Element;
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("textarea"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "textarea");
|
||||
|
||||
tagBuilder.AddCssClass("text");
|
||||
tagBuilder.Attributes["name"] = element.Name;
|
||||
@@ -27,4 +26,7 @@
|
||||
<label for="@element.HtmlId">@element.Label</label>
|
||||
}
|
||||
|
||||
@Html.Raw(tagBuilder.ToString(TagRenderMode.Normal))
|
||||
@tagBuilder.ToHtmlString(TagRenderMode.Normal)
|
||||
@if (element.ValidationSettings.ShowValidationMessage == true) {
|
||||
@Html.ValidationMessage(element.Name)
|
||||
}
|
||||
@@ -1,9 +1,8 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var element = (TextField)Model.Element;
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("input"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "input");
|
||||
|
||||
tagBuilder.AddCssClass("text design");
|
||||
tagBuilder.Attributes["type"] = "text";
|
||||
@@ -14,9 +13,9 @@
|
||||
@if (element.ShowLabel) {
|
||||
<div>
|
||||
<label for="@element.HtmlId">@element.Label</label>
|
||||
@Html.Raw(tagBuilder.ToString(TagRenderMode.SelfClosing))
|
||||
@tagBuilder.ToHtmlString(TagRenderMode.SelfClosing)
|
||||
</div>
|
||||
}
|
||||
else {
|
||||
@Html.Raw(tagBuilder.ToString(TagRenderMode.SelfClosing))
|
||||
@tagBuilder.ToHtmlString(TagRenderMode.SelfClosing)
|
||||
}
|
||||
@@ -1,9 +1,8 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.DynamicForms.Elements
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var element = (TextField)Model.Element;
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("input"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "input");
|
||||
|
||||
tagBuilder.AddCssClass("text");
|
||||
tagBuilder.Attributes["type"] = "text";
|
||||
@@ -19,7 +18,7 @@
|
||||
@if (element.ShowLabel) {
|
||||
<label for="@element.HtmlId">@element.Label</label>
|
||||
}
|
||||
@Html.Raw(tagBuilder.ToString(TagRenderMode.SelfClosing))
|
||||
@tagBuilder.ToHtmlString(TagRenderMode.SelfClosing)
|
||||
@if (element.ValidationSettings.ShowValidationMessage == true) {
|
||||
@Html.ValidationMessage(element.Name)
|
||||
}
|
||||
@@ -6,6 +6,13 @@ using Orchard.Layouts.Framework.Elements;
|
||||
|
||||
namespace Orchard.Layouts.Helpers {
|
||||
public static class TagBuilderExtensions {
|
||||
|
||||
/// <summary>
|
||||
/// Creates an <see cref="OrchardTagBuilder"/> and adds the ID, Class and Style attributes from the shape.Element property.
|
||||
/// </summary>
|
||||
public static OrchardTagBuilder CreateElementTagBuilder(dynamic shape, string tag = "div") {
|
||||
return AddCommonElementAttributes(new OrchardTagBuilder(tag), shape);
|
||||
}
|
||||
|
||||
public static OrchardTagBuilder AddCommonElementAttributes(this OrchardTagBuilder tagBuilder, dynamic shape) {
|
||||
var attributes = GetCommonElementAttributes(shape);
|
||||
|
||||
@@ -274,7 +274,9 @@ angular
|
||||
$scope.$root.editElement(receivedElement).then(function (args) {
|
||||
if (!args.cancel) {
|
||||
receivedElement.data = args.element.data;
|
||||
receivedElement.setHtml(args.element.html);
|
||||
|
||||
if (receivedElement.setHtml)
|
||||
receivedElement.setHtml(args.element.html);
|
||||
}
|
||||
$timeout(function () {
|
||||
if (!!args.cancel)
|
||||
|
||||
File diff suppressed because one or more lines are too long
+3
-1
@@ -241,7 +241,9 @@
|
||||
$scope.$root.editElement(receivedElement).then(function (args) {
|
||||
if (!args.cancel) {
|
||||
receivedElement.data = args.element.data;
|
||||
receivedElement.setHtml(args.element.html);
|
||||
|
||||
if (receivedElement.setHtml)
|
||||
receivedElement.setHtml(args.element.html);
|
||||
}
|
||||
$timeout(function () {
|
||||
if (!!args.cancel)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
// Only render the surrounding div if there are any attributes to be rendered.
|
||||
var commonAttributes = (IDictionary<string, object>)TagBuilderExtensions.GetCommonElementAttributes(Model);
|
||||
var tagBuilder = commonAttributes.Any() ? new OrchardTagBuilder("div") : default(OrchardTagBuilder);
|
||||
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.Layouts.Elements
|
||||
@using Orchard.Layouts.Elements
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var element = (Column) Model.Element;
|
||||
var columnSpan = element.Width;
|
||||
var columnOffset = element.Offset;
|
||||
var columnOffsetCss = columnOffset > 0 ? "offset-" + columnOffset : default(string);
|
||||
var tagBuilder = TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("div"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model);
|
||||
|
||||
tagBuilder.AddCssClass("cell");
|
||||
tagBuilder.AddCssClass(String.Concat("span-", columnSpan));
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.Layouts.Helpers
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var tagBuilder = TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("div"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model);
|
||||
}
|
||||
@tagBuilder.StartElement
|
||||
@Display(Model.ContentField)
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.Layouts.Helpers
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var tagBuilder = TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("div"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model);
|
||||
}
|
||||
@tagBuilder.StartElement
|
||||
@foreach (var contentItem in Model.ContentItems) {
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var tagBuilder = TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("div"), Model);
|
||||
}
|
||||
@using Orchard.Layouts.Helpers
|
||||
@if (Model.Content != null) {
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model);
|
||||
@tagBuilder.StartElement
|
||||
@Display(Model.Content)
|
||||
@tagBuilder.EndElement
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.Layouts.Helpers
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var tagBuilder = TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("div"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model);
|
||||
tagBuilder.AddCssClass("table");
|
||||
}
|
||||
@tagBuilder.StartElement
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.Layouts.Helpers
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var tagBuilder = TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("div"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model);
|
||||
tagBuilder.InnerHtml = Model.ProcessedText;
|
||||
}
|
||||
@tagBuilder.StartElement
|
||||
@Html.Raw(Model.ProcessedText)
|
||||
@tagBuilder.EndElement
|
||||
@tagBuilder.ToHtmlString()
|
||||
@@ -15,4 +15,4 @@
|
||||
tagBuilder.Attributes["alt"] = T("Image not found").Text;
|
||||
}
|
||||
}
|
||||
@Html.Raw(tagBuilder.ToString(TagRenderMode.SelfClosing))
|
||||
@tagBuilder.ToHtmlString(TagRenderMode.SelfClosing)
|
||||
@@ -1,9 +1,8 @@
|
||||
@using Orchard.ContentManagement
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.Layouts.Helpers
|
||||
@using Orchard.MediaLibrary.Models
|
||||
@{
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("img"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "img");
|
||||
var imagePart = (ImagePart)Model.ImagePart;
|
||||
var mediaPart = imagePart != null ? imagePart.As<MediaPart>() : default(MediaPart);
|
||||
|
||||
@@ -17,4 +16,4 @@
|
||||
|
||||
tagBuilder.AddCssClass("layout-content-image");
|
||||
}
|
||||
@Html.Raw(tagBuilder.ToString(TagRenderMode.SelfClosing))
|
||||
@tagBuilder.ToHtmlString(TagRenderMode.SelfClosing)
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.Layouts.Helpers
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var tagBuilder = TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("div"), Model);
|
||||
var text = (string)Model.ProcessedContent;
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model);
|
||||
tagBuilder.InnerHtml = Model.ProcessedContent;
|
||||
}
|
||||
@tagBuilder.StartElement
|
||||
@Html.Raw(text)
|
||||
@tagBuilder.EndElement
|
||||
@tagBuilder.ToHtmlString()
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.Layouts.Helpers
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var tagBuilder = TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("div"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model);
|
||||
}
|
||||
@tagBuilder.StartElement
|
||||
@foreach (var contentItem in Model.ContentItems) {
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.Layouts.Helpers
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var tagBuilder = TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("p"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "p");
|
||||
tagBuilder.InnerHtml = Model.ProcessedText;
|
||||
}
|
||||
@tagBuilder.StartElement
|
||||
@Html.Raw(Model.ProcessedText)
|
||||
@tagBuilder.EndElement
|
||||
@tagBuilder.ToHtmlString()
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.Layouts.Helpers
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var tagBuilder = TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("div"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model);
|
||||
tagBuilder.AddCssClass("row");
|
||||
}
|
||||
@tagBuilder.StartElement
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("div"), Model);
|
||||
}
|
||||
@using Orchard.Layouts.Helpers
|
||||
@if (Model.Shape != null) {
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model);
|
||||
@tagBuilder.StartElement
|
||||
@Display(Model.Shape)
|
||||
@tagBuilder.EndElement
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.Layouts.Helpers
|
||||
@using Orchard.Layouts.Helpers
|
||||
@{
|
||||
var tagBuilder = TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("div"), Model);
|
||||
var text = (string) Model.ProcessedText;
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model);
|
||||
tagBuilder.InnerHtml = Model.ProcessedText;
|
||||
}
|
||||
@tagBuilder.StartElement
|
||||
@Html.Raw(text)
|
||||
@tagBuilder.EndElement
|
||||
@tagBuilder.ToHtmlString()
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
@using Orchard.ContentManagement
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.Layouts.Elements
|
||||
@using Orchard.Layouts.Helpers
|
||||
@using Orchard.MediaLibrary.Models
|
||||
@{
|
||||
var tagBuilder = new OrchardTagBuilder("img");
|
||||
var element = (VectorImage)Model.Element;
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("img"), Model);
|
||||
var vectorImagePart = (VectorImagePart)Model.VectorImagePart;
|
||||
var mediaPart = vectorImagePart != null ? vectorImagePart.As<MediaPart>() : default(MediaPart);
|
||||
|
||||
@@ -25,4 +24,4 @@
|
||||
tagBuilder.Attributes["height"] = element.Height.ToString();
|
||||
}
|
||||
}
|
||||
@Html.Raw(tagBuilder.ToString(TagRenderMode.SelfClosing))
|
||||
@tagBuilder.ToHtmlString(TagRenderMode.SelfClosing)
|
||||
@@ -1,11 +1,10 @@
|
||||
@using Orchard.ContentManagement
|
||||
@using Orchard.DisplayManagement.Shapes
|
||||
@using Orchard.Layouts.Elements
|
||||
@using Orchard.Layouts.Helpers
|
||||
@using Orchard.MediaLibrary.Models
|
||||
@{
|
||||
var element = (VectorImage)Model.Element;
|
||||
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("img"), Model);
|
||||
var tagBuilder = TagBuilderExtensions.CreateElementTagBuilder(Model, "img");
|
||||
var vectorImagePart = (VectorImagePart)Model.VectorImagePart;
|
||||
var mediaPart = vectorImagePart != null ? vectorImagePart.As<MediaPart>() : default(MediaPart);
|
||||
|
||||
@@ -27,4 +26,4 @@
|
||||
|
||||
tagBuilder.AddCssClass("layout-content-vector");
|
||||
}
|
||||
@Html.Raw(tagBuilder.ToString(TagRenderMode.SelfClosing))
|
||||
@tagBuilder.ToHtmlString(TagRenderMode.SelfClosing)
|
||||
|
||||
+2
-1
@@ -25,7 +25,8 @@ namespace Orchard.MediaLibrary.MediaFileName {
|
||||
}
|
||||
|
||||
public override IEnumerable<TemplateViewModel> TypeEditorUpdate(ContentTypeDefinitionBuilder builder, IUpdateModel updateModel) {
|
||||
if (builder.Current.Settings.ContainsKey("Stereotype") && builder.Current.Settings["Stereotype"] == "Media") {
|
||||
var settings = builder.Current.Settings;
|
||||
if (settings.ContainsKey("Stereotype") && settings["Stereotype"] == "Media") {
|
||||
var model = new MediaFileNameEditorSettings();
|
||||
if (updateModel.TryUpdateModel(model, "MediaFileNameEditorSettings", null, null)) {
|
||||
builder.WithSetting("MediaFileNameEditorSettings.ShowFileNameEditor", model.ShowFileNameEditor.ToString());
|
||||
|
||||
@@ -7,10 +7,10 @@ using Orchard.Environment.Extensions;
|
||||
using Orchard.Indexing;
|
||||
using Orchard.Localization;
|
||||
using Orchard.Logging;
|
||||
using Orchard.Search.Helpers;
|
||||
using Orchard.Search.Models;
|
||||
using Orchard.Search.Services;
|
||||
using Orchard.Settings;
|
||||
using Orchard.Themes;
|
||||
using Orchard.UI.Navigation;
|
||||
using Orchard.UI.Notify;
|
||||
|
||||
@@ -45,7 +45,7 @@ namespace Orchard.Search.Controllers {
|
||||
searchHits = _searchService.Query(searchText, pager.Page, pager.PageSize,
|
||||
Services.WorkContext.CurrentSite.As<AdminSearchSettingsPart>().FilterCulture,
|
||||
searchSettingsPart.SearchIndex,
|
||||
searchSettingsPart.SearchedFields,
|
||||
searchSettingsPart.GetSearchFields(),
|
||||
searchHit => searchHit);
|
||||
}
|
||||
catch (Exception exception) {
|
||||
|
||||
@@ -9,6 +9,7 @@ using Orchard.Indexing;
|
||||
using Orchard.Localization;
|
||||
using Orchard.Logging;
|
||||
using Orchard.Mvc;
|
||||
using Orchard.Search.Helpers;
|
||||
using Orchard.Search.Models;
|
||||
using Orchard.Search.Settings;
|
||||
using Orchard.Settings;
|
||||
@@ -44,11 +45,12 @@ namespace Orchard.Search.Controllers {
|
||||
|
||||
[Themed(false)]
|
||||
public ActionResult Index(PagerParameters pagerParameters, string part, string field, string searchText = "") {
|
||||
Pager pager = new Pager(_siteService.GetSiteSettings(), pagerParameters);
|
||||
var searchFields = Services.WorkContext.CurrentSite.As<SearchSettingsPart>().SearchedFields;
|
||||
|
||||
int totalCount = 0;
|
||||
int[] foundIds = new int[0];
|
||||
var pager = new Pager(_siteService.GetSiteSettings(), pagerParameters);
|
||||
var searchSettingsPart = Services.WorkContext.CurrentSite.As<SearchSettingsPart>();
|
||||
var searchIndex = searchSettingsPart.SearchIndex;
|
||||
var searchFields = searchSettingsPart.GetSearchFields();
|
||||
var totalCount = 0;
|
||||
var foundIds = new int[0];
|
||||
|
||||
if (!String.IsNullOrWhiteSpace(searchText)) {
|
||||
ContentPickerSearchFieldSettings settings = null;
|
||||
@@ -64,7 +66,7 @@ namespace Orchard.Search.Controllers {
|
||||
return View("NoIndex");
|
||||
}
|
||||
|
||||
var builder = _indexManager.GetSearchIndexProvider().CreateSearchBuilder(Services.WorkContext.CurrentSite.As<SearchSettingsPart>().SearchIndex);
|
||||
var builder = _indexManager.GetSearchIndexProvider().CreateSearchBuilder(searchIndex);
|
||||
|
||||
try {
|
||||
builder.Parse(searchFields, searchText);
|
||||
@@ -107,7 +109,6 @@ namespace Orchard.Search.Controllers {
|
||||
|
||||
var pagerShape = Services.New.Pager(pager).TotalItemCount(totalCount);
|
||||
|
||||
|
||||
foreach(IShape item in list.Items) {
|
||||
item.Metadata.Type = "ContentPicker";
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ using Orchard.DisplayManagement;
|
||||
using Orchard.Indexing;
|
||||
using Orchard.Localization;
|
||||
using Orchard.Logging;
|
||||
using Orchard.Search.Helpers;
|
||||
using Orchard.Search.Models;
|
||||
using Orchard.Search.Services;
|
||||
using Orchard.Search.ViewModels;
|
||||
@@ -59,7 +60,7 @@ namespace Orchard.Search.Controllers {
|
||||
searchHits = _searchService.Query(q, pager.Page, pager.PageSize,
|
||||
Services.WorkContext.CurrentSite.As<SearchSettingsPart>().FilterCulture,
|
||||
searchSettingPart.SearchIndex,
|
||||
searchSettingPart.SearchedFields,
|
||||
searchSettingPart.GetSearchFields(),
|
||||
searchHit => searchHit);
|
||||
} catch(Exception exception) {
|
||||
Logger.Error(T("Invalid search query: {0}", exception.Message).Text);
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Linq;
|
||||
using Orchard.ContentManagement;
|
||||
@@ -28,20 +27,18 @@ namespace Orchard.Search.Drivers {
|
||||
|
||||
protected override DriverResult Editor(AdminSearchSettingsPart part, dynamic shapeHelper) {
|
||||
return Editor(part, null, shapeHelper);
|
||||
|
||||
|
||||
}
|
||||
|
||||
protected override DriverResult Editor(AdminSearchSettingsPart part, IUpdateModel updater, dynamic shapeHelper) {
|
||||
return ContentShape("Parts_AdminSearch_SiteSettings", () => {
|
||||
var model = new SearchSettingsViewModel();
|
||||
String[] searchedFields = part.SearchedFields;
|
||||
var searchFields = part.SearchFields;
|
||||
|
||||
if (updater != null) {
|
||||
// submitting: rebuild model from form data
|
||||
if (updater.TryUpdateModel(model, Prefix, null, null)) {
|
||||
// update part if successful
|
||||
part.SearchIndex = model.SelectedIndex;
|
||||
part.SearchedFields = model.Entries.First(e => e.Index == model.SelectedIndex).Fields.Where(e => e.Selected).Select(e => e.Field).ToArray();
|
||||
part.SearchFields = model.Entries.ToDictionary(x => x.Index, x => x.Fields.Where(e => e.Selected).Select(e => e.Field).ToArray());
|
||||
part.FilterCulture = model.FilterCulture;
|
||||
}
|
||||
}
|
||||
@@ -55,7 +52,7 @@ namespace Orchard.Search.Drivers {
|
||||
Fields = new List<SearchSettingsEntry>()
|
||||
};
|
||||
foreach (var field in _indexManager.GetSearchIndexProvider().GetFields(x)) {
|
||||
indexSettings.Fields.Add(new SearchSettingsEntry {Field = field, Selected = (x == part.SearchIndex && searchedFields.Contains(field))});
|
||||
indexSettings.Fields.Add(new SearchSettingsEntry { Field = field, Selected = (searchFields.ContainsKey(x) && searchFields[x].Contains(field)) });
|
||||
}
|
||||
|
||||
return indexSettings;
|
||||
@@ -67,18 +64,18 @@ namespace Orchard.Search.Drivers {
|
||||
}
|
||||
|
||||
protected override void Exporting(AdminSearchSettingsPart part, ExportContentContext context) {
|
||||
context.Element(part.PartDefinition.Name).Add(new XAttribute("SearchedFields", string.Join(",", part.SearchedFields)));
|
||||
context.Element(part.PartDefinition.Name).Add(new XAttribute("SearchFields", part.Retrieve<string>("SearchFields")));
|
||||
}
|
||||
|
||||
protected override void Importing(AdminSearchSettingsPart part, ImportContentContext context) {
|
||||
var xElement = context.Data.Element(part.PartDefinition.Name);
|
||||
if (xElement == null) return;
|
||||
|
||||
var searchedFields = xElement.Attribute("SearchedFields");
|
||||
if (searchedFields != null) {
|
||||
searchedFields.Remove();
|
||||
|
||||
part.SearchedFields = searchedFields.Value.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries);
|
||||
var searchFields = xElement.Attribute("SearchFields");
|
||||
if (searchFields != null) {
|
||||
searchFields.Remove();
|
||||
|
||||
part.Store("SearchFields", searchFields.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml.Linq;
|
||||
using Orchard.ContentManagement;
|
||||
@@ -32,19 +31,16 @@ namespace Orchard.Search.Drivers {
|
||||
protected override DriverResult Editor(SearchSettingsPart part, IUpdateModel updater, dynamic shapeHelper) {
|
||||
return ContentShape("Parts_Search_SiteSettings", () => {
|
||||
var model = new SearchSettingsViewModel();
|
||||
String[] searchedFields = part.SearchedFields;
|
||||
var searchFields = part.SearchFields;
|
||||
|
||||
if (updater != null) {
|
||||
// submitting: rebuild model from form data
|
||||
if (updater.TryUpdateModel(model, Prefix, null, null)) {
|
||||
// update part if successful
|
||||
part.SearchIndex = model.SelectedIndex;
|
||||
part.SearchedFields = model.Entries.First(e => e.Index == model.SelectedIndex).Fields.Where(e => e.Selected).Select(e => e.Field).ToArray();
|
||||
part.SearchFields = model.Entries.ToDictionary(x => x.Index, x => x.Fields.Where(e => e.Selected).Select(e => e.Field).ToArray());
|
||||
part.FilterCulture = model.FilterCulture;
|
||||
}
|
||||
}
|
||||
else if (_indexManager.HasIndexProvider()) {
|
||||
// viewing editor: build model from part
|
||||
model.FilterCulture = part.FilterCulture;
|
||||
model.SelectedIndex = part.SearchIndex;
|
||||
model.Entries = _indexManager.GetSearchIndexProvider().List().Select(x => {
|
||||
@@ -53,7 +49,7 @@ namespace Orchard.Search.Drivers {
|
||||
Fields = new List<SearchSettingsEntry>()
|
||||
};
|
||||
foreach (var field in _indexManager.GetSearchIndexProvider().GetFields(x)) {
|
||||
indexSettings.Fields.Add(new SearchSettingsEntry {Field = field, Selected = (x == part.SearchIndex && searchedFields.Contains(field))});
|
||||
indexSettings.Fields.Add(new SearchSettingsEntry {Field = field, Selected = (searchFields.ContainsKey(x) && searchFields[x].Contains(field))});
|
||||
}
|
||||
|
||||
return indexSettings;
|
||||
@@ -65,18 +61,18 @@ namespace Orchard.Search.Drivers {
|
||||
}
|
||||
|
||||
protected override void Exporting(SearchSettingsPart part, ExportContentContext context) {
|
||||
context.Element(part.PartDefinition.Name).Add(new XAttribute("SearchedFields", string.Join(",", part.SearchedFields)));
|
||||
context.Element(part.PartDefinition.Name).Add(new XAttribute("SearchFields", part.Retrieve<string>("SearchFields")));
|
||||
}
|
||||
|
||||
protected override void Importing(SearchSettingsPart part, ImportContentContext context) {
|
||||
var xElement = context.Data.Element(part.PartDefinition.Name);
|
||||
if (xElement == null) return;
|
||||
|
||||
var searchedFields = xElement.Attribute("SearchedFields");
|
||||
if (searchedFields != null) {
|
||||
searchedFields.Remove();
|
||||
var searchFields = xElement.Attribute("SearchFields");
|
||||
if (searchFields != null) {
|
||||
searchFields.Remove();
|
||||
|
||||
part.SearchedFields = searchedFields.Value.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries);
|
||||
part.Store("SearchFields", searchFields.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
using Orchard.ContentManagement;
|
||||
using Orchard.Localization;
|
||||
using Orchard.Search.Models;
|
||||
using Orchard.Data;
|
||||
using Orchard.ContentManagement.Handlers;
|
||||
using Orchard.Environment.Extensions;
|
||||
using Orchard.Localization;
|
||||
using Orchard.Search.Models;
|
||||
|
||||
namespace Orchard.Search.Handlers {
|
||||
[OrchardFeature("Orchard.Search.Content")]
|
||||
@@ -11,11 +10,6 @@ namespace Orchard.Search.Handlers {
|
||||
public AdminSearchSettingsPartHandler() {
|
||||
T = NullLocalizer.Instance;
|
||||
Filters.Add(new ActivatingFilter<AdminSearchSettingsPart>("Site"));
|
||||
|
||||
OnInitializing<AdminSearchSettingsPart>((context, part) => {
|
||||
part.FilterCulture = false;
|
||||
part.SearchedFields = new [] {"body, title"};
|
||||
});
|
||||
}
|
||||
|
||||
public Localizer T { get; set; }
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using Orchard.ContentManagement;
|
||||
using Orchard.Localization;
|
||||
using Orchard.Search.Models;
|
||||
using Orchard.Data;
|
||||
using Orchard.ContentManagement.Handlers;
|
||||
|
||||
namespace Orchard.Search.Handlers {
|
||||
@@ -9,15 +8,10 @@ namespace Orchard.Search.Handlers {
|
||||
public SearchSettingsPartHandler() {
|
||||
T = NullLocalizer.Instance;
|
||||
Filters.Add(new ActivatingFilter<SearchSettingsPart>("Site"));
|
||||
|
||||
OnInitializing<SearchSettingsPart>((context, part) => {
|
||||
part.FilterCulture = false;
|
||||
part.SearchedFields = new [] {"body, title"};
|
||||
});
|
||||
}
|
||||
|
||||
public Localizer T { get; set; }
|
||||
|
||||
|
||||
protected override void GetItemMetadata(GetContentItemMetadataContext context) {
|
||||
if (context.ContentItem.ContentType != "Site")
|
||||
return;
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Orchard.Search.Models;
|
||||
|
||||
namespace Orchard.Search.Helpers {
|
||||
public static class SearchSettingsHelper {
|
||||
public static IDictionary<string, string[]> DeserializeSearchFields(string value) {
|
||||
// Format: "<Index1:Field1,Field2>[|<Index1:Field1,Field2>]".
|
||||
// Example: "Search:title,body|Documents:filename,title".
|
||||
|
||||
var data = value ?? "";
|
||||
var items = data.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
|
||||
var dictionary = new Dictionary<string, string[]>();
|
||||
|
||||
foreach (var item in items) {
|
||||
var pair = item.Split(new[] { ':' }, StringSplitOptions.None);
|
||||
var index = pair[0];
|
||||
var fields = pair[1].Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
|
||||
|
||||
dictionary[index] = fields;
|
||||
}
|
||||
return dictionary;
|
||||
}
|
||||
|
||||
public static string SerializeSearchFields(IDictionary<string, string[]> value) {
|
||||
var data = String.Join("|", value.Select(x => String.Format("{0}:{1}", x.Key, String.Join(",", x.Value))));
|
||||
return data;
|
||||
}
|
||||
|
||||
public static string[] GetSearchFields(this AdminSearchSettingsPart part) {
|
||||
return part.SearchFields.ContainsKey(part.SearchIndex) ? part.SearchFields[part.SearchIndex] : new string[0];
|
||||
}
|
||||
|
||||
public static string[] GetSearchFields(this SearchSettingsPart part) {
|
||||
return part.SearchFields.ContainsKey(part.SearchIndex) ? part.SearchFields[part.SearchIndex] : new string[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,20 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Orchard.ContentManagement;
|
||||
using Orchard.Environment.Extensions;
|
||||
using Orchard.Search.Helpers;
|
||||
|
||||
namespace Orchard.Search.Models {
|
||||
[OrchardFeature("Orchard.Search.Content")]
|
||||
public class AdminSearchSettingsPart : ContentPart {
|
||||
public string[] SearchedFields {
|
||||
get { return (Retrieve<string>("SearchedFields") ?? "").Split(new[] {',', ' '}, StringSplitOptions.RemoveEmptyEntries); }
|
||||
set { Store("SearchedFields", String.Join(", ", value)); }
|
||||
public IDictionary<string, string[]> SearchFields {
|
||||
get {
|
||||
var data = Retrieve<string>("SearchFields") ?? "Admin:body,title";
|
||||
return SearchSettingsHelper.DeserializeSearchFields(data);
|
||||
}
|
||||
set {
|
||||
var data = SearchSettingsHelper.SerializeSearchFields(value);
|
||||
Store("SearchFields", data);
|
||||
}
|
||||
}
|
||||
|
||||
public bool FilterCulture {
|
||||
|
||||
@@ -1,11 +1,18 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Orchard.ContentManagement;
|
||||
using Orchard.Search.Helpers;
|
||||
|
||||
namespace Orchard.Search.Models {
|
||||
public class SearchSettingsPart : ContentPart {
|
||||
public string[] SearchedFields {
|
||||
get { return (Retrieve<string>("SearchedFields") ?? "").Split(new[] {',', ' '}, StringSplitOptions.RemoveEmptyEntries); }
|
||||
set { Store("SearchedFields", String.Join(", ", value)); }
|
||||
public IDictionary<string, string[]> SearchFields {
|
||||
get {
|
||||
var data = Retrieve<string>("SearchFields") ?? "Search:body,title";
|
||||
return SearchSettingsHelper.DeserializeSearchFields(data);
|
||||
}
|
||||
set {
|
||||
var data = SearchSettingsHelper.SerializeSearchFields(value);
|
||||
Store("SearchFields", data);
|
||||
}
|
||||
}
|
||||
|
||||
public bool FilterCulture {
|
||||
|
||||
@@ -74,6 +74,7 @@
|
||||
<Compile Include="Drivers\SearchFormPartDriver.cs" />
|
||||
<Compile Include="Drivers\AdminSearchSettingsPartDriver.cs" />
|
||||
<Compile Include="Handlers\AdminSearchSettingsPartHandler.cs" />
|
||||
<Compile Include="Helpers\SearchSettingsHelper.cs" />
|
||||
<Compile Include="Models\SearchFormPart.cs" />
|
||||
<Compile Include="Models\AdminSearchSettingsPart.cs" />
|
||||
<Compile Include="ResourceManifest.cs" />
|
||||
@@ -108,6 +109,7 @@
|
||||
<Content Include="Recipes\Search.recipe.xml">
|
||||
<SubType>Designer</SubType>
|
||||
</Content>
|
||||
<Content Include="Scripts\orchard-search-settings.js" />
|
||||
<Content Include="Styles\orchard-search-admin.css" />
|
||||
<Content Include="Styles\orchard-search-search.css" />
|
||||
</ItemGroup>
|
||||
@@ -153,6 +155,11 @@
|
||||
<ItemGroup>
|
||||
<Content Include="Views\EditorTemplates\Parts\AdminSearch.SiteSettings.cshtml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Scripts\Web.config">
|
||||
<SubType>Designer</SubType>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
|
||||
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
<?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>
|
||||
@@ -0,0 +1,11 @@
|
||||
(function ($) {
|
||||
var searchFields = $(".search-fields");
|
||||
var selectedIndex = searchFields.data("selected-index");
|
||||
$('li[data-index]').hide();
|
||||
$("li[data-index='" + selectedIndex + "']").show();
|
||||
$('#selectIndex').change(function () {
|
||||
$('li[data-index]').hide();
|
||||
$("li[data-index='" + $(this).val() + "']").show();
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
@@ -2,12 +2,20 @@
|
||||
|
||||
namespace Orchard.Search.ViewModels {
|
||||
public class SearchSettingsViewModel {
|
||||
public SearchSettingsViewModel() {
|
||||
Entries = new List<IndexSettingsEntry>();
|
||||
}
|
||||
|
||||
public string SelectedIndex { get; set; }
|
||||
public IList<IndexSettingsEntry> Entries { get; set; }
|
||||
public bool FilterCulture { get; set; }
|
||||
}
|
||||
|
||||
public class IndexSettingsEntry {
|
||||
public IndexSettingsEntry() {
|
||||
Fields = new List<SearchSettingsEntry>();
|
||||
}
|
||||
|
||||
public string Index { get; set; }
|
||||
public IList<SearchSettingsEntry> Fields { get; set; }
|
||||
}
|
||||
|
||||
+13
-30
@@ -2,29 +2,29 @@
|
||||
@model SearchSettingsViewModel
|
||||
@{
|
||||
Script.Require("jQuery");
|
||||
|
||||
Script.Include("orchard-search-settings.js");
|
||||
}
|
||||
<fieldset>
|
||||
<legend>@T("Admin Search")</legend>
|
||||
<div>
|
||||
<label>@T("Indexes")</label>
|
||||
|
||||
|
||||
@if (Model.Entries != null && Model.Entries.Any()) {
|
||||
if (String.IsNullOrWhiteSpace(Model.SelectedIndex)) {
|
||||
Model.Entries.Insert(0, new IndexSettingsEntry { Index = "" });
|
||||
}
|
||||
|
||||
<select id="selectIndex" name="@Html.NameFor(m => m.SelectedIndex)">
|
||||
@foreach (var modelEntry in Model.Entries) {
|
||||
@Html.SelectOption(Model.SelectedIndex, modelEntry.Index, modelEntry.Index)
|
||||
}
|
||||
</select>
|
||||
<span class="hint">@T("Select which index to use in search queries.")</span>
|
||||
<select id="selectIndex" name="@Html.NameFor(m => m.SelectedIndex)">
|
||||
@foreach (var modelEntry in Model.Entries) {
|
||||
@Html.SelectOption(Model.SelectedIndex, modelEntry.Index, modelEntry.Index)
|
||||
}
|
||||
</select>
|
||||
<span class="hint">@T("Select which index to use in search queries.")</span>
|
||||
|
||||
<label>@T("Fields")</label>
|
||||
<ul>
|
||||
<label>@T("Fields")</label>
|
||||
<ul class="search-fields" data-selected-index="@Model.SelectedIndex">
|
||||
@{var entryIndex = 0;}
|
||||
@foreach(var modelEntry in Model.Entries) {
|
||||
@foreach (var modelEntry in Model.Entries) {
|
||||
@Html.HiddenFor(m => m.Entries[entryIndex].Index)
|
||||
<li data-index="@modelEntry.Index">
|
||||
@if (modelEntry.Fields != null && modelEntry.Fields.Any()) {
|
||||
@@ -41,7 +41,7 @@
|
||||
</ul>
|
||||
}
|
||||
</li>
|
||||
entryIndex++;
|
||||
entryIndex++;
|
||||
}
|
||||
</ul>
|
||||
<span class="hint">@T("Check any property which should be used for search queries.")</span>
|
||||
@@ -58,21 +58,4 @@
|
||||
<span class="hint">@T("If checked, search results will only include content items localized in the current culture of the request.")</span>
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
|
||||
@using (Script.Foot()) {
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
(function ($) {
|
||||
|
||||
$('li[data-index]').hide();
|
||||
$("li[data-index='@Model.SelectedIndex']").show();
|
||||
$('#selectIndex').change(function () {
|
||||
$('li[data-index]').hide();
|
||||
$("li[data-index='" + $(this).val() + "']").show();
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
//]]>
|
||||
</script>
|
||||
}
|
||||
</fieldset>
|
||||
+13
-30
@@ -2,29 +2,29 @@
|
||||
@model SearchSettingsViewModel
|
||||
@{
|
||||
Script.Require("jQuery");
|
||||
|
||||
Script.Include("orchard-search-settings.js");
|
||||
}
|
||||
<fieldset>
|
||||
<legend>@T("Search")</legend>
|
||||
<div>
|
||||
<label>@T("Indexes")</label>
|
||||
|
||||
|
||||
@if (Model.Entries != null && Model.Entries.Any()) {
|
||||
if (String.IsNullOrWhiteSpace(Model.SelectedIndex)) {
|
||||
Model.Entries.Insert(0, new IndexSettingsEntry { Index = "" });
|
||||
}
|
||||
|
||||
<select id="selectIndex" name="@Html.NameFor(m => m.SelectedIndex)">
|
||||
@foreach (var modelEntry in Model.Entries) {
|
||||
@Html.SelectOption(Model.SelectedIndex, modelEntry.Index, modelEntry.Index)
|
||||
}
|
||||
</select>
|
||||
<span class="hint">@T("Select which index to use in search queries.")</span>
|
||||
<select id="selectIndex" name="@Html.NameFor(m => m.SelectedIndex)">
|
||||
@foreach (var modelEntry in Model.Entries) {
|
||||
@Html.SelectOption(Model.SelectedIndex, modelEntry.Index, modelEntry.Index)
|
||||
}
|
||||
</select>
|
||||
<span class="hint">@T("Select which index to use in search queries.")</span>
|
||||
|
||||
<label>@T("Fields")</label>
|
||||
<ul>
|
||||
<label>@T("Fields")</label>
|
||||
<ul class="search-fields" data-selected-index="@Model.SelectedIndex">
|
||||
@{var entryIndex = 0;}
|
||||
@foreach(var modelEntry in Model.Entries) {
|
||||
@foreach (var modelEntry in Model.Entries) {
|
||||
@Html.HiddenFor(m => m.Entries[entryIndex].Index)
|
||||
<li data-index="@modelEntry.Index">
|
||||
@if (modelEntry.Fields != null && modelEntry.Fields.Any()) {
|
||||
@@ -41,7 +41,7 @@
|
||||
</ul>
|
||||
}
|
||||
</li>
|
||||
entryIndex++;
|
||||
entryIndex++;
|
||||
}
|
||||
</ul>
|
||||
<span class="hint">@T("Check any property which should be used for search queries.")</span>
|
||||
@@ -58,21 +58,4 @@
|
||||
<span class="hint">@T("If checked, search results will only include content items localized in the current culture of the request.")</span>
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
|
||||
@using (Script.Foot()) {
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
(function ($) {
|
||||
|
||||
$('li[data-index]').hide();
|
||||
$("li[data-index='@Model.SelectedIndex']").show();
|
||||
$('#selectIndex').change(function () {
|
||||
$('li[data-index]').hide();
|
||||
$("li[data-index='" + $(this).val() + "']").show();
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
//]]>
|
||||
</script>
|
||||
}
|
||||
</fieldset>
|
||||
+1
-1
@@ -1123,7 +1123,7 @@ Global
|
||||
{475B6C45-B27C-438B-8966-908B9D6D1077} = {E9C9F120-07BA-4DFB-B9C3-3AFB9D44C9D5}
|
||||
{66FCCD76-2761-47E3-8D11-B45D0001DDAA} = {E9C9F120-07BA-4DFB-B9C3-3AFB9D44C9D5}
|
||||
{91BC2E7F-DA04-421C-98EF-76D37CEC130C} = {E9C9F120-07BA-4DFB-B9C3-3AFB9D44C9D5}
|
||||
{2CF067CA-064B-43C6-8B88-5E3B99A65F1D} = {E9C9F120-07BA-4DFB-B9C3-3AFB9D44C9D5}
|
||||
{2CF067CA-064B-43C6-8B88-5E3B99A65F1D} = {902528F6-1444-42A3-8B75-A54B775B539C}
|
||||
{F301EF7D-F19C-4D83-AA94-CB64F29C037D} = {E9C9F120-07BA-4DFB-B9C3-3AFB9D44C9D5}
|
||||
{E826F796-8CE3-4B5B-8423-5AA5F81D2FC3} = {E9C9F120-07BA-4DFB-B9C3-3AFB9D44C9D5}
|
||||
{3BD22132-D538-48C6-8854-F71333C798EB} = {E9C9F120-07BA-4DFB-B9C3-3AFB9D44C9D5}
|
||||
|
||||
@@ -12,6 +12,9 @@ namespace Orchard.DisplayManagement.Shapes {
|
||||
|
||||
public IHtmlString StartElement { get { return new HtmlString(ToString(TagRenderMode.StartTag)); } }
|
||||
public IHtmlString EndElement { get { return new HtmlString(ToString(TagRenderMode.EndTag)); } }
|
||||
public IHtmlString ToHtmlString(TagRenderMode renderMode = TagRenderMode.Normal) {
|
||||
return new HtmlString(ToString(renderMode));
|
||||
}
|
||||
}
|
||||
|
||||
public class TagBuilderFactory : ITagBuilderFactory {
|
||||
|
||||
Reference in New Issue
Block a user