_HelpPageEditPartial.cshtml 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  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. var form = $("#helpPageEditForm");
  16. var selectedNode = devHelpPageSelectionTree.GetSelectedNode();
  17. $("#Content").val(devHelpPageHtmlContentEditor.GetHtml());
  18. $("#ParentId").val(selectedNode == null
  19. ? null
  20. : selectedNode.name);
  21. $(form).submit(function (e) {
  22. $.ajax({
  23. type: "POST",
  24. url: '@Url.Action("EditHelpPage", "Misc")',
  25. data: form.serialize(),
  26. success: function (response) {
  27. setTimeout(function () {
  28. $(".helpPageEditFormEditContainer").remove();
  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. $("body").append(response);
  38. }
  39. }, 200);
  40. }
  41. });
  42. e.preventDefault();
  43. });
  44. form.submit();
  45. }
  46. function setDropDownText(text) {
  47. ParentText.SetText(text);
  48. ParentText.HideDropDown();
  49. }
  50. </script>
  51. @Html.Partial("~/Views/Misc/_HelpPageHtmlEditPartial.cshtml", Model)
  52. @using (Html.BeginForm("EditHelpPage", "Misc", FormMethod.Post, new { id = "helpPageEditForm" }))
  53. {
  54. @Html.HiddenFor(m => m.Content)
  55. @Html.HiddenFor(m => m.ParentId)
  56. @Html.DevExpress().PopupControl(s =>
  57. {
  58. s.Name = "devPopupControlEditHelpPage";
  59. if (Model.Id == -1)
  60. s.HeaderText = "Neue Hilfe-Seite erstellen";
  61. else
  62. s.HeaderText = "\"" + Model.Title + "\" bearbeiten";
  63. s.Modal = true;
  64. s.Width = new Unit(250, UnitType.Pixel);
  65. s.CloseAction = CloseAction.CloseButton;
  66. s.PopupHorizontalAlign = PopupHorizontalAlign.WindowCenter;
  67. s.PopupVerticalAlign = PopupVerticalAlign.WindowCenter;
  68. s.AllowDragging = false;
  69. s.AllowResize = false;
  70. s.ShowFooter = false;
  71. s.ShowOnPageLoad = false;
  72. s.SetContent(() =>
  73. {
  74. ViewContext.Writer.Write("<div class='editFormWrapper'>");
  75. ViewContext.Writer.Write("<input type=\"hidden\" value=\"" + Model.Id + "\" id=\"Id\" name=\"Id\" />");
  76. ViewContext.Writer.Write(Html.CustomLabelFor(m => m.Title, "Titel:"));
  77. ViewContext.Writer.Write(Html.ValidationMessageFor(m => m.Title).ToHtmlString());
  78. Html.DevExpress().TextBoxFor(m => m.Title, t =>
  79. {
  80. t.Width = new Unit(100, UnitType.Percentage);
  81. }).Render();
  82. ViewContext.Writer.Write(Html.CustomLabelFor(m => m.ParentId, "Hilfe-Seiten:"));
  83. ViewContext.Writer.Write(Html.ValidationMessageFor(m => m.ParentId).ToHtmlString());
  84. Html.DevExpress().DropDownEdit(t =>
  85. {
  86. t.Name = "ParentText";
  87. t.Width = new Unit(100, UnitType.Percentage);
  88. t.SetDropDownWindowTemplateContent(l =>
  89. {
  90. Html.RenderPartial("~/Views/Misc/_HelpPageTreePartial.cshtml", ViewData["AllHelpPages"]);
  91. });
  92. }).Render();
  93. ViewContext.Writer.Write(Html.CustomLabelFor(m => m.DisplayIndex, "Reihenfolge:"));
  94. ViewContext.Writer.Write(Html.ValidationMessageFor(m => m.DisplayIndex).ToHtmlString());
  95. Html.DevExpress().SpinEditFor(m => m.DisplayIndex, t =>
  96. {
  97. t.Width = new Unit(100, UnitType.Percentage);
  98. t.Number = 0;
  99. t.Properties.NumberType = SpinEditNumberType.Integer;
  100. }).Render();
  101. ViewContext.Writer.Write("</div>");
  102. Html.RenderPartial(
  103. "~/Views/Shared/_PopupButtonPanel.cshtml",
  104. new GreenTree.Nachtragsmanagement.Web.Models.Global.PopupModel
  105. {
  106. PopupName = "devPopupControlEditHelpPage",
  107. AcceptFunction = "function (s, e) { saveHelpPage(); }"
  108. }
  109. );
  110. });
  111. s.Styles.Content.Paddings.Padding = new Unit(0);
  112. s.Styles.ModalBackground.Opacity = 0;
  113. }).GetHtml()
  114. }
  115. </div>