_HelpPageEditPartial.cshtml 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. @using GreenTree.Nachtragsmanagement.Web.Extensions
  2. @model GreenTree.Nachtragsmanagement.Web.Models.Misc.HelpPageDataModel
  3. <div class="helpPageEditContainer">
  4. <script>
  5. function onHtmlToolbarCustomCommand(e) {
  6. if (!e) return;
  7. if (e.commandName == "save") {
  8. saveHelpPage();
  9. } else if (e.commandName == "saveAs") {
  10. devPopupControlEditHelpPage.Show();
  11. }
  12. saveOperation = e.commandName;
  13. }
  14. function saveHelpPage() {
  15. devLoadingPanelSave.Show();
  16. var form = $("#helpPageEditForm");
  17. var selectedNode = devHelpPageSelectionTree.GetSelectedNode();
  18. $("#Content").val(devHelpPageHtmlContentEditor.GetHtml());
  19. if (selectedNode != null) {
  20. $("#ParentId").val(selectedNode.name);
  21. }
  22. $(form).submit(function (e) {
  23. $.ajax({
  24. type: "POST",
  25. url: '@Url.Action("EditHelpPage", "Misc")',
  26. data: form.serialize(),
  27. success: function (response) {
  28. setTimeout(function () {
  29. if (response.startsWith("success")) {
  30. if (saveOperation == "save") {
  31. devPopupControlEditHelpPage.Hide();
  32. } else {
  33. var id = response.split('-')[1];
  34. window.location = '@Url.Action("ViewHelpPages", "Misc")' + '?id=' + id;
  35. }
  36. } else {
  37. $("#helpPageContent").html(response);
  38. setTimeout(function () {
  39. devPopupControlEditHelpPage.Show();
  40. }, 100);
  41. }
  42. devLoadingPanelSave.Hide();
  43. }, 200);
  44. }
  45. });
  46. e.preventDefault();
  47. });
  48. form.submit();
  49. }
  50. function setDropDownText(text) {
  51. ParentText.SetText(text);
  52. ParentText.HideDropDown();
  53. }
  54. </script>
  55. @Html.DevExpress().LoadingPanel(t =>
  56. {
  57. t.Name = "devLoadingPanelSave";
  58. t.Text = "Wird gespeichert ...";
  59. t.Styles.LoadingDiv.Opacity = 0;
  60. t.Modal = true;
  61. }).GetHtml()
  62. @using (Html.BeginForm())
  63. {
  64. @Html.Partial("~/Views/Misc/_HelpPageHtmlEditPartial.cshtml", Model)
  65. }
  66. @using (Html.BeginForm("EditHelpPage", "Misc", FormMethod.Post, new { id = "helpPageEditForm" }))
  67. {
  68. @Html.HiddenFor(m => m.Content)
  69. @Html.HiddenFor(m => m.ParentId)
  70. @Html.DevExpress().PopupControl(s =>
  71. {
  72. s.Name = "devPopupControlEditHelpPage";
  73. if (Model.Id == -1)
  74. s.HeaderText = "Neue Hilfe-Seite erstellen";
  75. else
  76. s.HeaderText = "\"" + Model.Title + "\" bearbeiten";
  77. s.Modal = true;
  78. s.Width = new Unit(350, UnitType.Pixel);
  79. s.CloseAction = CloseAction.CloseButton;
  80. s.PopupHorizontalAlign = PopupHorizontalAlign.WindowCenter;
  81. s.PopupVerticalAlign = PopupVerticalAlign.TopSides;
  82. s.PopupVerticalOffset = 80;
  83. s.AllowDragging = false;
  84. s.AllowResize = false;
  85. s.ShowFooter = false;
  86. s.ShowOnPageLoad = false;
  87. s.SetContent(() =>
  88. {
  89. ViewContext.Writer.Write("<div class='editFormWrapper'>");
  90. ViewContext.Writer.Write("<input type=\"hidden\" value=\"" + Model.Id + "\" id=\"Id\" name=\"Id\" />");
  91. ViewContext.Writer.Write(Html.CustomLabelFor(m => m.Title, "Titel:"));
  92. ViewContext.Writer.Write(Html.ValidationMessageFor(m => m.Title).ToHtmlString());
  93. Html.DevExpress().TextBoxFor(m => m.Title, t =>
  94. {
  95. t.Width = new Unit(100, UnitType.Percentage);
  96. }).Render();
  97. ViewContext.Writer.Write(Html.CustomLabelFor(m => m.ParentId, "Übergeordnete Seite:"));
  98. ViewContext.Writer.Write(Html.ValidationMessageFor(m => m.ParentId).ToHtmlString());
  99. Html.DevExpress().DropDownEdit(t =>
  100. {
  101. t.Name = "ParentText";
  102. t.Width = new Unit(100, UnitType.Percentage);
  103. t.Text = Model.ParentText;
  104. t.SetDropDownWindowTemplateContent(l =>
  105. {
  106. ViewContext.Writer.Write("<div style=\"width: 100%; height: 230px; overflow: auto\">");
  107. {
  108. Html.RenderPartial("~/Views/Misc/_HelpPageTreePartial.cshtml", ViewData["AllHelpPages"]);
  109. }
  110. ViewContext.Writer.Write("</div>");
  111. });
  112. }).Render();
  113. ViewContext.Writer.Write(Html.CustomLabelFor(m => m.DisplayIndex, "Reihenfolge:"));
  114. ViewContext.Writer.Write(Html.ValidationMessageFor(m => m.DisplayIndex).ToHtmlString());
  115. Html.DevExpress().SpinEditFor(m => m.DisplayIndex, t =>
  116. {
  117. t.Width = new Unit(100, UnitType.Percentage);
  118. t.Number = 0;
  119. t.Properties.NumberType = SpinEditNumberType.Integer;
  120. }).Render();
  121. ViewContext.Writer.Write("</div>");
  122. Html.RenderPartial(
  123. "~/Views/Shared/_PopupButtonPanel.cshtml",
  124. new GreenTree.Nachtragsmanagement.Web.Models.Global.PopupModel
  125. {
  126. PopupName = "devPopupControlEditHelpPage",
  127. AcceptFunction = "function (s, e) { saveHelpPage(); }"
  128. }
  129. );
  130. });
  131. s.Styles.Content.Paddings.Padding = new Unit(0);
  132. s.Styles.ModalBackground.Opacity = 0;
  133. }).GetHtml()
  134. }
  135. </div>