datatable.fix.html.php 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. <?php $currentModule = $this->app->rawModule;?>
  2. <?php $currentMethod = $this->app->rawMethod;?>
  3. <?php $datatableId = $this->moduleName . ucfirst($this->methodName);?>
  4. <?php js::set('currentMethod', $this->app->rawMethod)?>
  5. <?php js::set('currentModule', $this->app->rawModule)?>
  6. <?php
  7. $showSwitchLink = true;
  8. if($currentModule == 'product' && $currentMethod == 'browse') $showSwitchLink = false;
  9. if($currentModule == 'projectstory' && $currentMethod == 'story') $showSwitchLink = false;
  10. if($currentModule == 'project' && $currentMethod == 'bug') $showSwitchLink = false;
  11. if($currentModule == 'execution' && strpos(',all,task,bug,', ",{$currentMethod},") !== false) $showSwitchLink = false;
  12. if($currentModule == 'bug' && $currentMethod == 'browse') $showSwitchLink = false;
  13. ?>
  14. <style>
  15. #setShowModule {margin-left: 30px;}
  16. </style>
  17. <script>
  18. $(function()
  19. {
  20. <?php if(!empty($setModule)):?>
  21. $('#sidebar .cell .text-center:last').append("<a href='#showModuleModal' data-toggle='modal' class='btn btn-info btn-wide'><?php echo $lang->datatable->displaySetting;?></a><hr class='space-sm' />");
  22. <?php endif;?>
  23. var addSettingButton = function()
  24. {
  25. var $btnToolbar = $('#main .table-header .btn-toolbar:first');
  26. if($btnToolbar.length > 0)
  27. {
  28. if($('.dropdown #tableCustomBtn').length) $('#tableCustomBtn').closest('.dropdown').remove();
  29. <?php $mode = isset($config->datatable->$datatableId->mode) ? $config->datatable->$datatableId->mode : 'table';?>
  30. var $dropdown = $('<div class="dropdown"><button id="tableCustomBtn" type="button" class="btn btn-link" data-toggle="dropdown"><i class="icon-cog-outline"></i></button></div>');
  31. var $dropmenu = $('<ul class="dropdown-menu pull-right"></ul>');
  32. if(typeof(storyType) != 'undefined' && storyType == 'requirement')
  33. {
  34. $dropmenu.append("<li><a href='<?php echo $this->createLink('datatable', 'ajaxOldCustom', 'id=' . $this->moduleName . '&method=' . $this->methodName . '&extra=requirement')?>' data-toggle='modal' data-type='ajax'><?php echo $lang->datatable->custom?></a></li>");
  35. }
  36. else if(typeof(extra) != 'undefined' && extra == 'unsetStory')
  37. {
  38. $dropmenu.append("<li><a href='<?php echo $this->createLink('datatable', 'ajaxOldCustom', 'id=' . $this->moduleName . '&method=' . $this->methodName . '&extra=unsetStory')?>' data-toggle='modal' data-type='ajax'><?php echo $lang->datatable->custom?></a></li>");
  39. }
  40. else if((currentModule == 'marketreport' || currentModule == 'marketresearch') && currentMethod == 'browse')
  41. {
  42. $dropmenu.append("<li><a href='<?php echo $this->createLink('datatable', 'ajaxOldCustom', 'id=' . $this->moduleName . '&method=' . $this->methodName . '&extra=unsetMarket')?>' data-toggle='modal' data-type='ajax'><?php echo $lang->datatable->custom?></a></li>");
  43. }
  44. else
  45. {
  46. $dropmenu.append("<li><a href='<?php echo $this->createLink('datatable', 'ajaxOldCustom', 'id=' . $this->moduleName . '&method=' . $this->methodName)?>' data-toggle='modal' data-type='ajax'><?php echo $lang->datatable->custom?></a></li>");
  47. }
  48. <?php if($showSwitchLink):?>
  49. $dropmenu.append("<li><a href='javascript:saveDatatableConfig(\"mode\", \"<?php echo $mode == 'table' ? 'datatable' : 'table';?>\", true);' id='switchToDatatable'><?php echo $mode == 'table' ? $lang->datatable->switchToDatatable : $lang->datatable->switchToTable;?></a></li>");
  50. <?php endif;?>
  51. $dropdown.append($dropmenu)
  52. .appendTo($btnToolbar)
  53. .on('shown.zui.dropdown', function(){$btnToolbar.closest('.table-header').css('z-index', 11);})
  54. .on('hidden.zui.dropdown', function(){$btnToolbar.closest('.table-header').css('z-index', 11);});
  55. }
  56. };
  57. $('#main .main-table').on('tableReload', addSettingButton);
  58. addSettingButton();
  59. $('#setShowModule').click(function()
  60. {
  61. if('<?php echo $this->app->user->account?>' == 'guest') return;
  62. datatableId = '<?php echo $datatableId?>';
  63. var value = $('#showModuleModal input[name="showModule"]:checked').val();
  64. var allModule = $('#showModuleModal input[name="showAllModule"]:checked').val();
  65. var showBranch = $('#showModuleModal input[name="showBranch"]:checked').val();
  66. if(typeof allModule === 'undefined') allModule = false;
  67. $.ajax(
  68. {
  69. type: "POST",
  70. dataType: 'json',
  71. data:
  72. {
  73. target: datatableId,
  74. name: 'showModule',
  75. value: value,
  76. allModule: allModule,
  77. showBranch: showBranch,
  78. currentModule: currentModule,
  79. currentMethod: currentMethod,
  80. },
  81. success:function(){window.location.reload();},
  82. url: '<?php echo $this->createLink('datatable', 'ajaxOldSave')?>'
  83. });
  84. });
  85. window.saveDatatableConfig = function(name, value, reload, global)
  86. {
  87. if('<?php echo $this->app->user->account?>' == 'guest') return;
  88. var datatableId = '<?php echo $datatableId;?>';
  89. if(typeof value === 'object') value = JSON.stringify(value);
  90. if(typeof global === 'undefined') global = 0;
  91. $.ajax(
  92. {
  93. type: "POST",
  94. dataType: 'json',
  95. data: {target: datatableId, name: name, value: value, global: global},
  96. success:function(e){if(reload) window.location.reload();},
  97. url: '<?php echo $this->createLink('datatable', 'ajaxOldSave')?>'
  98. });
  99. $.get(createLink('score', 'ajax', "method=switchToDataTable"));
  100. };
  101. });
  102. </script>
  103. <div class="modal fade" id="showModuleModal" tabindex="-1" role="dialog">
  104. <div class="modal-dialog w-600px">
  105. <div class="modal-content">
  106. <div class="modal-header">
  107. <button type="button" class="close" data-dismiss="modal"><i class="icon icon-close"></i></button>
  108. <h4 class="modal-title"><i class="icon-cog-outline"></i> <?php echo $lang->datatable->displaySetting;?></h4>
  109. </div>
  110. <div class="modal-body">
  111. <form class="form-condensed not-watch no-stash" method='post' target='hiddenwin' action='<?php echo $this->createLink('datatable', 'ajaxOldSave')?>'>
  112. <table class='table table-form'>
  113. <tr>
  114. <td class='w-160px'><?php echo $lang->datatable->showModule;?></td>
  115. <td><?php echo html::radio('showModule', $lang->datatable->showModuleList, isset($config->datatable->$datatableId->showModule) ? $config->datatable->$datatableId->showModule : '0');?></td>
  116. </tr>
  117. <?php if($app->moduleName == 'execution' and $app->methodName == 'task' and $this->config->vision != 'lite'):?>
  118. <tr>
  119. <td><?php echo $lang->datatable->showAllModule;?></td>
  120. <td><?php echo html::radio('showAllModule', $lang->datatable->showAllModuleList, isset($config->execution->task->allModule) ? $config->execution->task->allModule : 0);?></td>
  121. </tr>
  122. <?php endif;?>
  123. <?php if(isset($showBranch) and $showBranch):?>
  124. <tr>
  125. <td><?php echo $lang->datatable->showBranch;?></td>
  126. <td><?php echo html::radio('showBranch', $lang->datatable->showBranchList, isset($config->$currentModule->$currentMethod->showBranch) ? $config->$currentModule->$currentMethod->showBranch : 1);?></td>
  127. </tr>
  128. <?php endif;?>
  129. <tr>
  130. <td colspan='2' class='text-center'><button type='button' id='setShowModule' class='btn btn-primary'><?php echo $lang->save?></button></td>
  131. </tr>
  132. </table>
  133. </form>
  134. </div>
  135. </div>
  136. </div>
  137. </div>