expression.html.php 4.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php js::import($jsRoot . 'math.js');?>
  2. <?php js::set('expression', array());?>
  3. <style>
  4. #expressionDIV .detail {margin-bottom: 10px;}
  5. #expressionDIV .detail-heading {margin-bottom: 10px;}
  6. #expressionDIV .expression {border: 1px solid #ddd; padding: 10px; margin-bottom: 10px; min-height: 100px;}
  7. #expressionDIV .expression .item-expression {padding: 2px; margin: 3px; display: inline-block;}
  8. #expressionDIV .expression .item-target {border: 1px solid #ddd; border-radius: 4px;}
  9. #expressionDIV .expression .item-number {padding-right: 0px; margin-right: 0px;}
  10. #expressionDIV .expression .item-number + .item-number {padding-left: 0px; margin-left: 0px;}
  11. #expressionDIV .clear-expression {float: right; position: relative; top: -35px; right: 10px;}
  12. #expressionDIV .clear-expression .clear-last {margin-right: 10px;}
  13. #expressionDIV .btn-expression {min-width: 40px; padding-top: 10px; padding-bottom: 10px; margin-right: 5px; margin-bottom: 5px;}
  14. </style>
  15. <div id='expressionDIV' class='hide'>
  16. <div class='expression'>
  17. <span class='item-name'><?php echo $lang->workflowfield->formula->common;?></span>
  18. <span>=</span>
  19. </div>
  20. <div class='clear-expression'>
  21. <?php echo baseHTML::a('javascript:;', $lang->workflowfield->formula->clearLast, "class='clear-last'");?>
  22. <?php echo baseHTML::a('javascript:;', $lang->workflowfield->formula->clearAll, "class='clear-all'");?>
  23. </div>
  24. <div class='detail target-detail'>
  25. <div class='detail-heading'><?php echo $lang->workflowfield->formula->target;?></div>
  26. <div class='detail-content'>
  27. <?php
  28. $numberFields = $this->workflowfield->getNumberFields($flow->module, true);
  29. $moduleFields = array($flow->module => $numberFields);
  30. echo "<div module='$flow->module'>";
  31. foreach($numberFields as $fieldCode => $target)
  32. {
  33. $target = $flow->name . '_' . $target;
  34. echo "<a href='javascript:;' data-type='target' data-module='$flow->module' data-field='$fieldCode' data-text='$target' class='btn btn-expression'>$target</a>";
  35. }
  36. echo '</div>';
  37. if(!$flow->parent)
  38. {
  39. $subTables = $this->loadModel('workflow', 'flow')->getPairs($flow->module);
  40. foreach($subTables as $subModule => $tableName)
  41. {
  42. $subFields = $this->workflowfield->getNumberFields($subModule, true);
  43. $moduleFields[$subModule] = $subFields;
  44. echo "<div module='$subModule'>";
  45. foreach($subFields as $fieldCode => $fieldName)
  46. {
  47. foreach($lang->workflowfield->formula->functions as $function => $label)
  48. {
  49. $target = sprintf($label, $tableName, $fieldName);
  50. echo "<a href='javascript:;' data-type='target' data-module='$subModule' data-field='$fieldCode' data-function='$function' data-text='$target' class='btn btn-expression'>$target</a>";
  51. }
  52. }
  53. echo '</div>';
  54. }
  55. }
  56. if(!empty($hook->table) && !isset($moduleFields[$hook->table])) $moduleFields[$hook->table] = $this->workflowfield->getNumberFields($hook->table, true);
  57. ?>
  58. </div>
  59. </div>
  60. <div class='detail operator-detail'>
  61. <div class='detail-heading'><?php echo $lang->workflowfield->formula->operator;?></div>
  62. <?php foreach($config->workflowfield->formula->operators as $operator => $label) echo "<a href='javascript:;' data-type='operator' data-operator='$operator' data-text='$label' class='btn btn-expression'>$label</a>";?>
  63. <div class='detail-content'>
  64. </div>
  65. </div>
  66. <div class='detail number-detail'>
  67. <div class='detail-heading'><?php echo $lang->workflowfield->formula->numbers;?></div>
  68. <div class='detail-content'>
  69. <?php foreach($config->workflowfield->formula->numbers as $number) echo "<a href='javascript:;' data-type='number' data-value='$number' data-text='$number' class='btn btn-expression'>$number</a>";?>
  70. </div>
  71. </div>
  72. <div class='form-actions text-center'>
  73. <?php echo baseHTML::a('javascript:;', $lang->save, "class='btn btn-primary save-expression'");?>
  74. <?php echo baseHTML::a('javascript:;', $lang->cancel, "class='btn cancel-expression'");?>
  75. </div>
  76. </div>
  77. <?php js::set('modules', $tables);?>
  78. <?php js::set('moduleFields', $moduleFields);?>