View.cshtml 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. @{
  2. Layout = "~/Views/Shared/_FunctionLayout.cshtml";
  3. }
  4. @model IEnumerable<GreenTree.Nachtragsmanagement.Web.Models.Config.ConfigItemDataModel>
  5. <script>
  6. var deleteId;
  7. var gridScrollHeight;
  8. var gridScrollOffset = 85;
  9. var resizeFinished;
  10. $(document).ready(function () {
  11. gridScrollHeight = calculateGridScrollHeight();
  12. setTimeout(function () {
  13. devGridViewConfigItem.PerformCallback();
  14. }, 500);
  15. });
  16. $(window).resize(function () {
  17. clearTimeout(window.resizedFinished);
  18. window.resizedFinished = setTimeout(function () {
  19. setGridScrollHeight();
  20. }, 250);
  21. });
  22. function calculateGridScrollHeight() {
  23. var windowHeight = $(window).height();
  24. var gridHeaderHeight = $("#devGridViewConfigItem_DXHeadersRow0").height();
  25. var gridFooterHeight = $("#devGridViewConfigItem_DXFooterRow").height();
  26. return windowHeight - gridHeaderHeight - gridFooterHeight - gridScrollOffset;
  27. }
  28. function setGridScrollHeight() {
  29. gridScrollHeight = calculateGridScrollHeight();
  30. devGridViewConfigItem.PerformCallback();
  31. }
  32. function showFullName(text, element) {
  33. if (!element) return;
  34. devPopupControlFullName.Hide();
  35. $("#fullNameContent").text(text);
  36. devPopupControlFullName.ShowAtElement(element);
  37. }
  38. function editConfigItem(id) {
  39. if (!id) return;
  40. $.ajax({
  41. url: '@Url.Action("EditConfigItem", "Misc")',
  42. data: { Id: id },
  43. success: function (response) {
  44. setTimeout(function () {
  45. $(".configItemEditContainer").remove();
  46. $("body").append(response);
  47. parent.addCustomEventListener("ConfigItemDataCallbackEventReceiver", function () {
  48. devGridViewConfigItem.PerformCallback();
  49. });
  50. }, 200);
  51. },
  52. error: function () {
  53. alert("error occured");
  54. }
  55. });
  56. }
  57. function confirmDelete(id) {
  58. if (!id) return;
  59. deleteId = id;
  60. $.ajax({
  61. type: "GET",
  62. url: '@Url.Action("GetConfigItem", "Misc")',
  63. data: { Id: id },
  64. success: function (response) {
  65. if (response == "notFound") return;
  66. var configItem = JSON.parse(response);
  67. var popupControl = MVCxClientPopupControl.Cast(devPopupControlDeleteConfigItem);
  68. popupControl.SetHeaderText(popupControl.GetHeaderText().replace("{configItem}", configItem.Name));
  69. $(".dialogTextConfigItem").text($(".dialogTextConfigItem").text().replace("{configItem}", configItem.Name));
  70. popupControl.Show();
  71. }
  72. });
  73. }
  74. function deleteConfigItem() {
  75. $.ajax({
  76. type: "POST",
  77. url: '@Url.Action("DeleteConfigItem", "Misc")',
  78. data: { Id: deleteId },
  79. success: function (response) {
  80. var popupControl = MVCxClientPopupControl.Cast(devPopupControlDeleteConfigItem);
  81. popupControl.Hide();
  82. setTimeout(function () {
  83. devGridViewConfigItem.PerformCallback();
  84. }, 200);
  85. },
  86. error: function () {
  87. alert("error occured");
  88. }
  89. });
  90. }
  91. </script>
  92. @Html.Partial("~/Views/Config/_ConfigItemGridPartial.cshtml", Model)
  93. @Html.Partial("~/Views/Shared/_PopupDialogYesNo.cshtml", new GreenTree.Nachtragsmanagement.Web.Models.Global.YesNoDialogModel
  94. {
  95. PopupName = "devPopupControlDeleteConfigItem",
  96. Content = "<div class='dialogTextConfigItem' style='padding: 12px'>Sind Sie sicher, dass Sie die Einstellung " +
  97. "\"{configItem}\" löschen möchten?</div>",
  98. HeaderText = "\"{configItem}\" löschen",
  99. YesFunction = "function (s, e) { deleteConfigItem(); }",
  100. YesButtonName = "devButtonDeleteConfigItemYes",
  101. NoButtonName = "devButtonDeleteConfigItemNo"
  102. })
  103. @Html.DevExpress().PopupControl(p =>
  104. {
  105. p.Name = "devPopupControlFullName";
  106. p.ShowHeader = false;
  107. p.ShowFooter = false;
  108. p.ShowShadow = false;
  109. p.PopupAnimationType = AnimationType.None;
  110. p.Width = new Unit(300, UnitType.Pixel);
  111. p.SetContent("<div id=\"fullNameContent\"></div>");
  112. p.CloseAction = CloseAction.OuterMouseClick;
  113. p.PopupHorizontalAlign = PopupHorizontalAlign.LeftSides;
  114. p.PopupVerticalAlign = PopupVerticalAlign.Below;
  115. }).GetHtml()