Przeglądaj źródła

HelpPages fortgeschritten!

Arne Diekmann 8 lat temu
rodzic
commit
91438cff29

BIN
GreenTree.Nachtragsmanagement.Web/Content/Images/save-16-contrast.png


BIN
GreenTree.Nachtragsmanagement.Web/Content/Images/save-16-disable.png


BIN
GreenTree.Nachtragsmanagement.Web/Content/Images/save-16.png


+ 11 - 0
GreenTree.Nachtragsmanagement.Web/Controllers/MiscController.cs

@@ -738,6 +738,15 @@ namespace GreenTree.Nachtragsmanagement.Web.Controllers
             return View("~/Views/Misc/HelpPages.cshtml", helpPageTreeModelList);
         }
 
+        /// <summary>
+        /// Callback result for editing of help page
+        /// </summary>
+        /// <param name="helpPageModel">HelpPage model to be edited.</param>
+        public ActionResult PartialHtmlEditor(HelpPageDataModel helpPageModel)
+        {
+            return PartialView("~/Views/Misc/_HelpPageHtmlEditPartial.cshtml", helpPageModel);
+        }
+
         /// <summary>
         /// Get JSON data of specific helpPage
         /// </summary>
@@ -800,6 +809,8 @@ namespace GreenTree.Nachtragsmanagement.Web.Controllers
                 if (!ModelState.IsValid)
                     return PartialView("~/Views/Misc/_HelpPageEditPartial.cshtml", helpPageModel);
 
+                var html = HtmlEditorExtension.GetHtml("HelpPageHtmlContentEditor");
+
                 if (helpPageModel.Id == -1)
                 {
                     var helpPage = helpPageModel.ToHelpPage();

+ 4 - 0
GreenTree.Nachtragsmanagement.Web/GreenTree.Nachtragsmanagement.Web.csproj

@@ -213,6 +213,9 @@
     <Content Include="Content\Images\minimize-16.png" />
     <Content Include="Content\Images\function-Appendix-Claims-32.png" />
     <Content Include="Content\Images\normalize-16.png" />
+    <Content Include="Content\Images\save-16-contrast.png" />
+    <Content Include="Content\Images\save-16-disable.png" />
+    <Content Include="Content\Images\save-16.png" />
     <Content Include="Content\Images\user-32.png" />
     <Content Include="Content\Images\password-32.png" />
     <Content Include="Content\Images\password-24.png" />
@@ -348,6 +351,7 @@
     <Content Include="Views\Misc\_HelpPageTreePartial.cshtml" />
     <Content Include="Views\Misc\_HelpPageEditPartial.cshtml" />
     <Content Include="Views\Misc\_HelpPageViewPartial.cshtml" />
+    <Content Include="Views\Misc\_HelpPageHtmlEditPartial.cshtml" />
     <None Include="Web.Debug.config">
       <DependentUpon>Web.config</DependentUpon>
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>

+ 1 - 1
GreenTree.Nachtragsmanagement.Web/Views/Misc/HelpPages.cshtml

@@ -113,7 +113,7 @@
 
 <table class="helpTable">
 	<tr>
-		<td  style="width: 20%">
+		<td style="width: 20%">
 			<div class="helpPageMenu">
 				@Html.DevExpress().Button(b =>
 				{

+ 34 - 27
GreenTree.Nachtragsmanagement.Web/Views/Misc/_HelpPageEditPartial.cshtml

@@ -5,6 +5,13 @@
 <div class="helpPageEditContainer">
 
 	<script>
+		function onHtmlToolbarCustomCommand(e) {
+			if (!e) return;
+			if (e.commandName == "save") {
+				devPopupControlEditHelpPage.Show();
+			}
+		}
+
 		function saveHelpPage() {
 			var form = $("#helpPageEditForm");
 			$(form).submit(function (e) {
@@ -29,29 +36,29 @@
 		}
 	</script>
 
-	@Html.DevExpress().HtmlEditorFor(m => m.Content).GetHtml()
-
-	@Html.DevExpress().PopupControl(s =>
+	@using (Html.BeginForm("EditHelpPage", "Misc", FormMethod.Post, new { id = "helpPageEditForm" }))
 	{
-		s.Name = "devPopupControlEditHelpPage";
-
-		if (Model.Id == -1)
-			s.HeaderText = "Neue Hilfe-Seite erstellen";
-		else
-			s.HeaderText = "\"" + Model.Title + "\" bearbeiten";
-
-		s.Modal = true;
-		s.Width = new Unit(250, UnitType.Pixel);
-		s.CloseAction = CloseAction.CloseButton;
-		s.PopupHorizontalAlign = PopupHorizontalAlign.WindowCenter;
-		s.PopupVerticalAlign = PopupVerticalAlign.WindowCenter;
-		s.AllowDragging = false;
-		s.AllowResize = false;
-		s.ShowFooter = false;
-		s.ShowOnPageLoad = false;
-		s.SetContent(() =>
+		@Html.Partial("~/Views/Misc/_HelpPageHtmlEditPartial.cshtml", Model)
+
+		@Html.DevExpress().PopupControl(s =>
 		{
-			using (Html.BeginForm("EditHelpPage", "Misc", FormMethod.Post, new { id = "helpPageEditForm" }))
+			s.Name = "devPopupControlEditHelpPage";
+
+			if (Model.Id == -1)
+				s.HeaderText = "Neue Hilfe-Seite erstellen";
+			else
+				s.HeaderText = "\"" + Model.Title + "\" bearbeiten";
+
+			s.Modal = true;
+			s.Width = new Unit(250, UnitType.Pixel);
+			s.CloseAction = CloseAction.CloseButton;
+			s.PopupHorizontalAlign = PopupHorizontalAlign.WindowCenter;
+			s.PopupVerticalAlign = PopupVerticalAlign.WindowCenter;
+			s.AllowDragging = false;
+			s.AllowResize = false;
+			s.ShowFooter = false;
+			s.ShowOnPageLoad = false;
+			s.SetContent(() =>
 			{
 				ViewContext.Writer.Write("<div class='editFormWrapper'>");
 
@@ -73,7 +80,7 @@
 
 				ViewContext.Writer.Write(Html.CustomLabelFor(m => m.Subcategory, "Unterkategorie:"));
 				ViewContext.Writer.Write(Html.ValidationMessageFor(m => m.Subcategory).ToHtmlString());
-				Html.DevExpress().TextBoxFor(m => m.Title, t =>
+				Html.DevExpress().TextBoxFor(m => m.Subcategory, t =>
 				{
 					t.Width = new Unit(100, UnitType.Percentage);
 				}).Render();
@@ -97,10 +104,10 @@
 						AcceptFunction = "function (s, e) { saveHelpPage(); }"
 					}
 				);
-			}
-		});
-		s.Styles.Content.Paddings.Padding = new Unit(0);
-		s.Styles.ModalBackground.Opacity = 0;
-	}).GetHtml()
+			});
+			s.Styles.Content.Paddings.Padding = new Unit(0);
+			s.Styles.ModalBackground.Opacity = 0;
+		}).GetHtml()
+	}
 
 </div>

+ 31 - 0
GreenTree.Nachtragsmanagement.Web/Views/Misc/_HelpPageHtmlEditPartial.cshtml

@@ -0,0 +1,31 @@
+@using GreenTree.Nachtragsmanagement.Web.Extensions
+
+@model GreenTree.Nachtragsmanagement.Web.Models.Misc.HelpPageDataModel
+
+@Html.DevExpress().HtmlEditorFor(m => m.Content, t =>
+{
+	t.Name = "HelpPageHtmlContentEditor";
+	t.Width = new Unit(100, UnitType.Percentage);
+	t.Height = new Unit(400, UnitType.Pixel);
+	t.SettingsHtmlEditing.AllowHTML5MediaElements = true;
+	t.SettingsHtmlEditing.AllowEditFullDocument = true;
+	t.SettingsHtmlEditing.EnterMode = DevExpress.Web.ASPxHtmlEditor.HtmlEditorEnterMode.Default;
+	t.CallbackRouteValues = new { Controller = "Misc", Action = "PartialHtmlEditor" };
+	t.Toolbars.Add(DevExpress.Web.ASPxHtmlEditor.HtmlEditorToolbar.CreateStandardToolbar1());
+	t.Toolbars.Add(DevExpress.Web.ASPxHtmlEditor.HtmlEditorToolbar.CreateStandardToolbar2());
+	t.Toolbars.Add(DevExpress.Web.ASPxHtmlEditor.HtmlEditorToolbar.CreateTableToolbar());
+	t.Toolbars.Add(toolbar =>
+	{
+		toolbar.Items.Add<DevExpress.Web.ASPxHtmlEditor.CustomToolbarButton>(c =>
+		{
+			c.ViewStyle = DevExpress.Web.ASPxHtmlEditor.ViewStyle.Image;
+			c.BeginGroup = true;
+			c.CommandName = "save";
+			c.ToolTip = "Speichern";
+			c.Image.Url = Url.Content("~/Content/Images/save-16.png");
+			c.Image.UrlDisabled = Url.Content("~/Content/Images/save-16-disable.png");
+			c.Image.UrlHottracked = Url.Content("~/Content/Images/save-16-contrast.png");
+		});
+	});
+	t.ClientSideEvents.CustomCommand = "function (s, e) { onHtmlToolbarCustomCommand(e); }";
+}).GetHtml()

+ 1 - 0
GreenTree.Nachtragsmanagement.Web/Views/Misc/_HelpPageViewPartial.cshtml

@@ -13,3 +13,4 @@
 	}).GetHtml()
 </div>
 
+@Html.Raw(Model.Content)

+ 4 - 2
GreenTree.Nachtragsmanagement.Web/Views/Shared/_FunctionLayout.cshtml

@@ -11,14 +11,16 @@
 		new StyleSheet { ExtensionSuite = ExtensionSuite.Editors },
 		new StyleSheet { ExtensionSuite = ExtensionSuite.Report },
 		new StyleSheet { ExtensionSuite = ExtensionSuite.GridView },
-		new StyleSheet { ExtensionSuite = ExtensionSuite.TreeList }
+		new StyleSheet { ExtensionSuite = ExtensionSuite.TreeList },
+		new StyleSheet { ExtensionSuite = ExtensionSuite.HtmlEditor }
 	)
     @Html.DevExpress().GetScripts(
 		new Script { ExtensionSuite = ExtensionSuite.NavigationAndLayout },
 		new Script { ExtensionSuite = ExtensionSuite.Editors },
 		new Script { ExtensionSuite = ExtensionSuite.Report },
 		new Script { ExtensionSuite = ExtensionSuite.GridView },
-		new Script { ExtensionSuite = ExtensionSuite.TreeList }
+		new Script { ExtensionSuite = ExtensionSuite.TreeList },
+		new Script { ExtensionSuite = ExtensionSuite.HtmlEditor }
 	)
 
 	<link rel="stylesheet" type="text/css" href="~/Content/global.css" />