+
+
+
+
+ @foreach (var reaction in Model.Reactions)
+ {
+
+ }
+
+
diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/ReactionSelectionScriptBundleContributor.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/ReactionSelectionScriptBundleContributor.cs
new file mode 100644
index 0000000000..06c53b1899
--- /dev/null
+++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/ReactionSelectionScriptBundleContributor.cs
@@ -0,0 +1,18 @@
+using System.Collections.Generic;
+using Volo.Abp.AspNetCore.Mvc.UI.Bundling;
+using Volo.Abp.AspNetCore.Mvc.UI.Packages.Bootstrap;
+using Volo.Abp.Modularity;
+
+namespace Volo.CmsKit.Web.Pages.CmsKit.Shared.Components.ReactionSelection
+{
+ [DependsOn(
+ typeof(BootstrapScriptContributor)
+ )]
+ public class ReactionSelectionScriptBundleContributor : BundleContributor
+ {
+ public override void ConfigureBundle(BundleConfigurationContext context)
+ {
+ context.Files.AddIfNotContains("/Pages/CmsKit/Shared/Components/ReactionSelection/default.js");
+ }
+ }
+}
diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/ReactionSelectionViewComponent.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/ReactionSelectionViewComponent.cs
index 103fbb46ef..1f81ff35da 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/ReactionSelectionViewComponent.cs
+++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/ReactionSelectionViewComponent.cs
@@ -3,10 +3,14 @@ using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
using Volo.Abp.AspNetCore.Mvc;
+using Volo.Abp.AspNetCore.Mvc.UI.Widgets;
using Volo.CmsKit.Reactions;
namespace Volo.CmsKit.Web.Pages.CmsKit.Shared.Components.ReactionSelection
{
+ [Widget(
+ ScriptTypes = new[] {typeof(ReactionSelectionScriptBundleContributor)}
+ )]
public class ReactionSelectionViewComponent : AbpViewComponent
{
protected IReactionPublicAppService ReactionPublicAppService { get; }
diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/default.js b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/default.js
new file mode 100644
index 0000000000..eacc34bc44
--- /dev/null
+++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/ReactionSelection/default.js
@@ -0,0 +1,16 @@
+(function () {
+ $(document).ready(function () {
+
+ $('.cms-reaction-selection').each(function () {
+ var $this = $(this);
+ var $selectionButton = $this.find('.cms-reaction-selection-button');
+ var $selectionArea = $this.find('.cms-reaction-selection-area');
+
+ $selectionButton.popover({
+ html: true,
+ placement: 'right',
+ content: $selectionArea.html()
+ });
+ })
+ });
+})();
diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Volo.CmsKit.Public.Web.csproj b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Volo.CmsKit.Public.Web.csproj
index 1d2d5ebbe6..c3a45b7838 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Volo.CmsKit.Public.Web.csproj
+++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Volo.CmsKit.Public.Web.csproj
@@ -15,9 +15,6 @@