definition.html.php 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <style type="text/css">
  2. .left{float:left !important;}
  3. .center{text-align:center;}
  4. .clear:after{content:'';display:block;clear:both;}
  5. .center-block{position:relative;}
  6. .definition-factory{position:absolute;top:0;right:0;width:43%;display:none;padding-top:46px;}
  7. .definition-factory .formula-box{height:auto;line-height:30px;border-bottom:solid 1px grey;}
  8. .definition-factory .formula-box span{padding-right:5px;}
  9. .definition-factory .material-box{padding:5px 0 0 27px;}
  10. .definition-factory .material-box .material{cursor:pointer;text-align: center;background-color: #e5e5e5;margin: 15px;float: left;width: 30px;height:30px;line-height:30px;}
  11. .definition-factory .basicmeas-box{margin-top:5px;border:1px solid #dcdcdc;height:34px;}
  12. .definition-factory .basicmeas-box .title{background-color:#eee;color:#3c4353;width:20%;border-right:none;height:32px;line-height:32px;}
  13. .definition-factory .basicmeas-box .selectbox{width:80% !important;}
  14. </style>
  15. <div class='definition-factory' id='definition-factory'>
  16. <div class='formula-box' id='formula-box'></div>
  17. <div class='material-box clear' id='material-box'>
  18. <div class="material" data-method="<?php echo $lang->measurement->plus;?>"><?php echo $lang->measurement->plus;?></div>
  19. <div class="material" data-method="<?php echo $lang->measurement->minus;?>"><?php echo $lang->measurement->minus;?></div>
  20. <div class="material" data-method="<?php echo $lang->measurement->multiplicationAlias;?>"><?php echo $lang->measurement->multiplication;?></div>
  21. <div class="material" data-method="<?php echo $lang->measurement->divisionAlias;?>"><?php echo $lang->measurement->division;?></div>
  22. <div class="material" data-method="<?php echo $lang->measurement->remainder;?>"><?php echo $lang->measurement->remainder;?></div>
  23. <div class="material" data-method="<?php echo $lang->measurement->leftParentheses;?>"><?php echo $lang->measurement->leftParentheses;?></div>
  24. <div class="material" data-method="<?php echo $lang->measurement->rightParentheses;?>"><?php echo $lang->measurement->rightParentheses;?></div>
  25. <div class="material" data-method="<?php echo $lang->measurement->equal;?>"><?php echo $lang->measurement->equal;?></div>
  26. <div class="material" data-method="<?php echo $lang->measurement->dot;?>"><?php echo $lang->measurement->dot;?></div>
  27. <div class="material" data-method="<?php echo $lang->measurement->del;?>"><?php echo $lang->measurement->del;?></div>
  28. <div class="material" data-method="<?php echo $lang->measurement->zero;?>"><?php echo $lang->measurement->zero;?></div>
  29. <div class="material" data-method="<?php echo $lang->measurement->one;?>"><?php echo $lang->measurement->one;?></div>
  30. <div class="material" data-method="<?php echo $lang->measurement->two;?>"><?php echo $lang->measurement->two;?></div>
  31. <div class="material" data-method="<?php echo $lang->measurement->three;?>"><?php echo $lang->measurement->three;?></div>
  32. <div class="material" data-method="<?php echo $lang->measurement->four;?>"><?php echo $lang->measurement->four;?></div>
  33. <div class="material" data-method="<?php echo $lang->measurement->five;?>"><?php echo $lang->measurement->five;?></div>
  34. <div class="material" data-method="<?php echo $lang->measurement->six;?>"><?php echo $lang->measurement->six;?></div>
  35. <div class="material" data-method="<?php echo $lang->measurement->seven;?>"><?php echo $lang->measurement->seven;?></div>
  36. <div class="material" data-method="<?php echo $lang->measurement->eight;?>"><?php echo $lang->measurement->eight;?></div>
  37. <div class="material" data-method="<?php echo $lang->measurement->nine;?>"><?php echo $lang->measurement->nine;?></div>
  38. </div>
  39. <div class='basicmeas-box clear'>
  40. <label class='left center title'><?php echo $lang->measurement->basicMeas;?></label>
  41. <div class='left selectbox' id='basicMeasBox'>
  42. <?php echo html::select('basicmeas', $basicMeas, '', 'class="form-control chosen"');?>
  43. </div>
  44. </div>
  45. </div>
  46. <script>
  47. var definitionItem = "<?php if(isset($definitonItem)) echo $definitonItem;?>";
  48. $(function()
  49. {
  50. definition.setDefautl(definitionItem);
  51. $("form input").click(function()
  52. {
  53. if($(this).attr('name') == 'definition')
  54. $('#definition-factory').show();
  55. else
  56. $('#definition-factory').hide();
  57. })
  58. $('#material-box .material').click(function()
  59. {
  60. var method = $(this).attr('data-method');
  61. if(method == 'C') return definition.del();
  62. definition.setFormula(method,'method');
  63. })
  64. $('#basicmeas').change(function()
  65. {
  66. var measurementID = $(this).val();
  67. definition.setFormula(measurementID,'basicmeas');
  68. })
  69. })
  70. var definition = {
  71. del:function()
  72. {
  73. $('#formula-box span').eq(-1).remove();
  74. definition.getFormula();
  75. return true;
  76. },
  77. setFormula:function(method,type)
  78. {
  79. var formulaObj = $('#formula-box');
  80. if(type == 'method')
  81. {
  82. var methodName = method;
  83. if(methodName == '*') methodName = 'x';
  84. if(methodName == '/') methodName = '÷';
  85. var formulaElement = '<span data-method="'+method+'">'+methodName+'</span>';
  86. }
  87. if(type == 'basicmeas')
  88. {
  89. var measurement = $('#basicMeasBox .chosen-single-with-deselect .chosen-search input').attr('placeholder');
  90. var formulaElement = '<span data-method="{'+method+'}">'+measurement+'</span>';
  91. }
  92. formulaObj.append(formulaElement);
  93. definition.getFormula();
  94. },
  95. getFormula:function()
  96. {
  97. var methodObj = $('#formula-box span');
  98. var methods = [];
  99. methodObj.each(function()
  100. {
  101. methods.push($(this).attr('data-method'));
  102. })
  103. if(methodObj.length==0) methods = [];
  104. var methodJson = JSON.stringify(methods);
  105. $('#definitionMethods').val(methodJson);
  106. },
  107. setDefautl:function(definitionItem)
  108. {
  109. if(definitionItem != '') $('#formula-box').html(definitionItem);
  110. }
  111. }
  112. </script>