holdermodal.html.php 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. <style>
  2. .ke-icon-holder {width: 20px; background: none; text-align: center; background-color: #0C64EB; line-height: 14px;border-radius:4px;}
  3. .ke-icon-holder:before {content: 'M'; font-size: 13px; font-weight: normal; color: #fff;}
  4. </style>
  5. <div class="modal fade" id="holderModal">
  6. <div class="modal-dialog">
  7. <div class="modal-content">
  8. <div class="modal-header">
  9. <button type="button" class="close" data-dismiss="modal">
  10. <span aria-hidden="true">×</span><span class="sr-only"><?php $lang->close;?></span>
  11. </button>
  12. <h4 class="modal-title" id='holderModalTitle'><?php echo $lang->measurement->addMeas;?></h4>
  13. </div>
  14. <div class="modal-body">
  15. <table class='table table-form'>
  16. <tr>
  17. <th class='w-100px'><?php echo $lang->measurement->type;?></th>
  18. <td><?php echo html::select('type', $lang->measurement->sysData, '', "class='form-control chosen'");?></td>
  19. </tr>
  20. <tr id='basicMeasBox'>
  21. <th class='w-100px'><?php echo $lang->measurement->measList;?></th>
  22. <td><?php echo html::select('basicMeas', $basicMeases, '', "class='form-control chosen'");?></td>
  23. </tr>
  24. <tr id='reportBox' class='hidden'>
  25. <th class='w-100px'><?php echo $lang->measurement->reportList;?></th>
  26. <td><?php echo html::select('report', $reports, '', "class='form-control chosen'");?></td>
  27. </tr>
  28. <tr>
  29. <td colspan='2' class='from-actions text-center'>
  30. <button type="button" class="btn btn-primary" id='holderSaveBtn'><?php echo $lang->save;?></button>
  31. </td>
  32. </tr>
  33. </table>
  34. <div class="form-group hidden">
  35. <input id="holderText" type="text" class="form-control">
  36. </div>
  37. <div class="form-group hidden">
  38. <textarea class="form-control" name="holderValue" id="holderValue" cols="30" rows="2" readonly=true></textarea>
  39. </div>
  40. <div class="form-group hidden">
  41. <div class="checkbox">
  42. <label>
  43. <input type="checkbox" id="holderAsBlock">
  44. </label>
  45. </div>
  46. </div>
  47. </div>
  48. </div>
  49. </div>
  50. </div>
  51. <script>
  52. function afterHolderShow(value)
  53. {
  54. if(typeof(window.holder) == 'undefined') window.holder = {};
  55. if(value.indexOf('measurement') == 1)
  56. {
  57. params = value.split(':');
  58. params = params[1].split('.');
  59. type = params[0];
  60. window.holder.measurement = params[1].split('}')[0];
  61. }
  62. if(value.indexOf('report') == 1)
  63. {
  64. type = 'report';
  65. params = value.split(':');
  66. params = params[1].split('.');
  67. window.holder.reportType = params[0];
  68. window.holder.reportID = params[1].split('}')[0];
  69. }
  70. if(value)
  71. {
  72. $('#type').val(type).change();
  73. }
  74. else
  75. {
  76. $('#type').val('basic').change().trigger('chosen:updated');
  77. $('#basicMeas').val('').change().trigger('chosen:updated');
  78. }
  79. }
  80. $(document).on('change', '#type', function()
  81. {
  82. var type = $('#type').val();
  83. if(type == 'basic')
  84. {
  85. $('#basicMeasBox').removeClass('hidden');
  86. $('#reportBox').addClass('hidden');
  87. //$('#holderAsBlock').prop('checked', false);
  88. }
  89. else
  90. {
  91. $('#basicMeasBox').addClass('hidden');
  92. $('#reportBox').removeClass('hidden');
  93. //$('#holderAsBlock').prop('checked', true);
  94. }
  95. if(typeof(window.holder.measurement) != 'undefined')
  96. {
  97. if(type == 'basic') $('#basicMeas').val(window.holder.measurement).change().trigger('chosen:updated');
  98. }
  99. })
  100. $(document).on('change', '#basicMeas, #report', function()
  101. {
  102. var holderText = $(this).find('option:selected').text();
  103. if(holderText)
  104. {
  105. var type = $('#type').val();
  106. var uniqid = getUniqid(8);
  107. if(type == 'basic')
  108. {
  109. var measurement = $(this).val();
  110. var holderValue = '{measurement_' + uniqid + ':' + type + '.' + measurement + '}';
  111. }
  112. else
  113. {
  114. var reportType = 'cmmi';
  115. var reportID = $(this).val();
  116. var holderValue = '{report_' + uniqid + ':' + reportType + '.' + reportID + '}';
  117. }
  118. $('#holderText').closest('div'). removeClass('hidden');
  119. $('#holderValue').closest('div').removeClass('hidden');
  120. $('#holderText').val(holderText);
  121. $('#holderValue').val(holderValue);
  122. }
  123. else
  124. {
  125. $('#holderText').val('');
  126. $('#holderValue').val('');
  127. $('#holderText').closest('div'). addClass('hidden');
  128. $('#holderValue').closest('div').addClass('hidden');
  129. }
  130. })
  131. function getUniqid(length)
  132. {
  133. return Number(Math.random().toString().substr(3,length) + Date.now()).toString(36);
  134. }
  135. </script>