paramformmodal.html.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <?php if(!$this->post->parseContent):?>
  2. <style>
  3. .holder-value {display: none!important;}
  4. .holder-element {border-radius: 4px; padding: 5px; position: relative; margin: 5px 2px;}
  5. .holder-element:before {content: attr(data-holder)}
  6. .holder-block {display: block; text-align: center}
  7. .holder-span {display: inline-block; line-height: 1}
  8. .holder-element.needParams {background: #f5515f; color: #fff; border: 1px solid #e62340; cursor: pointer;}
  9. .holder-element.withoutParams {background: #eee; color: #3c4353; border: 1px solid #dcdcdc;}
  10. </style>
  11. <?php endif;?>
  12. <div class="modal fade" id="paramFormModal">
  13. <div class="modal-dialog">
  14. <div class="modal-content">
  15. <div class="modal-header">
  16. <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only"><?php $lang->close;?></span></button>
  17. <h4 class="modal-title" id='holderModalTitle'><?php echo $lang->measurement->setParams?></h4>
  18. </div>
  19. <div id='paramFormBox' class="modal-body">
  20. </div>
  21. <div class="modal-footer">
  22. <button type="button" class="btn btn-default" data-dismiss="modal"><?php echo $lang->close;?></button>
  23. <button type="button" class="btn btn-primary" id='paramFormSaveBtn'><?php echo $lang->save;?></button>
  24. </div>
  25. </div>
  26. </div>
  27. </div>
  28. <script>
  29. $(function()
  30. {
  31. $('.holder-element').each(function()
  32. {
  33. var $that = $(this);
  34. var value = $that.find('.holder-value').text();
  35. value = value.split('{');
  36. value = value[1].split('}');
  37. value = value[0];
  38. value = window.btoa(value);
  39. $.get(createLink('measurement', 'ajaxCheckElementNeedParams', "value=" + value), function(data)
  40. {
  41. if(data == 'no')
  42. {
  43. $that.addClass('withoutParams');
  44. }
  45. else
  46. {
  47. $that.addClass('needParams');
  48. }
  49. })
  50. });
  51. $('.holder-element').click(function()
  52. {
  53. if($(this).hasClass('withoutParams')) return;
  54. value = $(this).find('.holder-value').text();
  55. value = value.split('{');
  56. value = value[1].split('}');
  57. value = value[0];
  58. value = window.btoa(value);
  59. $('#paramFormBox').load(createLink('measurement', 'ajaxBuildParamForm', "value=" + value), function()
  60. {
  61. $('#paramFormBox .form-control').each(function()
  62. {
  63. var controlID = $(this).data('control');
  64. var paramName = $(this).data('name');
  65. var ID = paramName + '_' + controlID;
  66. var paramControl = $('#paramValues #' + ID);
  67. if(paramControl.length != 0) $(this).val(paramControl.val());
  68. });
  69. $('.report-date').datepicker();
  70. $('#paramFormBox .chosen').chosen();
  71. $('#paramFormModal').modal('show');
  72. });
  73. });
  74. $(document).on('click', '#paramFormSaveBtn', function()
  75. {
  76. $('#paramFormBox .form-control').each(function()
  77. {
  78. var controlID = $(this).data('control');
  79. var paramName = $(this).data('name');
  80. var ID = paramName + '_' + controlID;
  81. var paramControl = $('#paramValues #' + ID);
  82. if(paramControl.length == 0)
  83. {
  84. $('#paramValues').append("<input type='hidden' id='" + ID + "' name='params[" + controlID + "][" + paramName + "]' value='" + $(this).val() + "'>");
  85. }
  86. else
  87. {
  88. paramControl.val($(this).val());
  89. }
  90. $('#paramFormModal').modal('hide');
  91. });
  92. });
  93. });
  94. </script>