Skip to content

Commit b4e40c9

Browse files
Reworked polls
1 parent 0848505 commit b4e40c9

6 files changed

Lines changed: 29 additions & 25 deletions

File tree

src/Libraries/SmartStore.Data/Migrations/MigrationsConfiguration.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -779,6 +779,11 @@ public void MigrateLocaleResources(LocaleResourcesBuilder builder)
779779

780780
builder.AddOrUpdate("Footer.Info", "Information", "Information");
781781

782+
builder.AddOrUpdate("Admin.ContentManagement.Polls.Fields.SystemKeyword",
783+
"System keyword",
784+
"System-Schlüsselwort",
785+
"The system keyword specifies the place in your shop where the poll will be displayed. Available system keywords are: MyAccountMenu, Blog",
786+
"Das System-Schlüsselwort bestimmt den Platz im Shop, an welchem die Umfrage dargestellt wird. Verfügbare System-Schlüsselwörter sind: MyAccountMenu, Blog");
782787
}
783788
}
784789
}

src/Presentation/SmartStore.Web/Views/Blog/List.cshtml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
@{
2626
Html.RenderAction("BlogMonths", "Blog");
2727
Html.RenderAction("BlogTags", "Blog");
28+
Html.RenderAction("PollBlock", "Poll", new { systemKeyword = "Blog" });
2829
}
2930
}
3031

src/Presentation/SmartStore.Web/Views/Customer/Partials/MyAccountMenu.cshtml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,3 +91,5 @@
9191
</div>
9292

9393
@{ Html.RenderWidget("myaccount_menu_after"); }
94+
95+
@{ Html.RenderAction("PollBlock", "Poll", new { systemKeyword = "MyAccountMenu" }); }

src/Presentation/SmartStore.Web/Views/Poll/Partials/HomePagePolls.cshtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
@if (Model.Count > 0)
55
{
6-
<div class="card-deck card-cols-sm-1 card-cols-md-@(Model.Count >= 2 ? "2" : Model.Count.ToString()) card-cols-lg-@(Model.Count >= 3 ? "3" : Model.Count.ToString()) todays-poll-box-block my-3">
6+
<div class="card-deck card-cols-xs-1 card-cols-md-@(Model.Count >= 2 ? "2" : Model.Count.ToString()) card-cols-lg-@(Model.Count >= 3 ? "3" : Model.Count.ToString()) todays-poll-box-block mb-3">
77
@foreach (var poll in Model)
88
{
99
Html.RenderPartial("_Poll", poll);
Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,4 @@
11
@model PollModel
2-
32
@using SmartStore.Web.Models.Polls;
43

5-
<div class="block block-bordered block-poll card">
6-
<div class="card-header">
7-
@T("Polls.Title")
8-
</div>
9-
<div class="block-body listbox card-block">
10-
@{ Html.RenderPartial("_Poll", Model); }
11-
</div>
12-
</div>
4+
@{ Html.RenderPartial("_Poll", Model); }

src/Presentation/SmartStore.Web/Views/Poll/Partials/_Poll.cshtml

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,35 +4,39 @@
44
Html.AddScriptParts("~/Themes/Flex/Scripts/public.voting.js");
55
}
66

7-
<div id="poll-block-@(Model.Id)" class="@(Model.SystemKeyword.Equals("RightColumnPoll") ? "" : "card") poll-item equalized-column" data-equalized-deep="true">
8-
<div class="@(Model.SystemKeyword.Equals("RightColumnPoll") ? "fs-h6 mb-3" : "card-header")" data-equalized-part="name">
9-
@Model.Name
10-
</div>
7+
<div id="poll-block-@(Model.Id)" class="card poll-item mt-3">
8+
<div class="card-header">@Model.Name</div>
119
@if (Model.AlreadyVoted)
1210
{
13-
<div class="poll-results @(Model.SystemKeyword.Equals("RightColumnPoll") ? "" : "card-block")">
11+
<div class="poll-results card-block">
1412
@foreach (var item in Model.Answers)
1513
{
1614
<div class="answer">
1715
<div class="vote-result-percent pull-right">@((item.PercentOfTotalVotes/100).ToString("#0.##%"))</div>
1816
<div class="vote-result-line">@item.Name (@item.NumberOfVotes)</div>
19-
<progress class="progress progress-info" value="@(Math.Round(item.PercentOfTotalVotes, 0))" max="100"></progress>
17+
18+
<div class="progress">
19+
<div class="progress-bar bg-info" role="progressbar"
20+
style="width: @(Math.Round(item.PercentOfTotalVotes, 0))%"
21+
aria-valuenow="@(Math.Round(item.PercentOfTotalVotes, 0))" aria-valuemin="0" aria-valuemax="100"></div>
22+
</div>
23+
2024
</div>
2125
}
2226
<div class="poll-total-votes text-success">@string.Format(T("Polls.TotalVotes").Text, Model.TotalVotes)</div>
2327
</div>
2428
}
2529
else
2630
{
27-
<div class="poll-take-poll @(Model.SystemKeyword.Equals("RightColumnPoll") ? "" : "card-block")">
28-
<div data-equalized-part="data">
29-
@foreach (var item in Model.Answers)
30-
{
31-
<div class="radio">
32-
<label><input type="radio" id="pollanswers-@(item.Id)" name="pollanswers-@(Model.Id)" value="@item.Id" />@item.Name</label>
33-
</div>
34-
}
35-
</div>
31+
<div class="poll-take-poll card-block">
32+
33+
@foreach (var item in Model.Answers)
34+
{
35+
<div class="radio">
36+
<label><input type="radio" id="pollanswers-@(item.Id)" name="pollanswers-@(Model.Id)" value="@item.Id" />@item.Name</label>
37+
</div>
38+
}
39+
3640
<button id="vote-poll-@(Model.Id)"
3741
data-id="@(Model.Id)"
3842
data-target="@(Url.Action("Vote"))"

0 commit comments

Comments
 (0)