View.cshtml 3.8 KB

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