query.dictionary.html.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. /**
  3. * The query dictionary view file of bi module of ZenTaoPMS.
  4. * @copyright Copyright 2009-2024 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
  5. * @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
  6. * @author Xin Zhou <zhouxin@chandao.com>
  7. * @package bi
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. h::js(<<<JAVASCRIPT
  12. window.handleClickItem = function()
  13. {
  14. let target = $(event.target);
  15. if(!target.hasClass('caret-down') && !target.hasClass('caret-right'))
  16. {
  17. const sqlForm = $('textarea[name="sql"]');
  18. const fieldText = target.text();
  19. sqlForm.val(sqlForm.val() + fieldText.substring(0, fieldText.indexOf('(')));
  20. sqlForm.trigger('change');
  21. }
  22. }
  23. JAVASCRIPT
  24. );
  25. $fnGenerateDictionary = function($show = true)
  26. {
  27. return sidebar
  28. (
  29. setID('dictionarySideBar'),
  30. set::style(array('max-height' => '600px', 'max-width' => '235px', 'overflow-y' => 'auto', 'overflow-x' => 'hidden')),
  31. setClass('bg-canvas', array('hidden' => !$show)),
  32. div(
  33. setClass('bg-canvas mx-5 my-3 text-xl font-semibold text-ellipsis h-7 flex-none'),
  34. span($this->lang->bi->dictionary)
  35. ),
  36. $show ? zui::menu
  37. (
  38. setID('dictionary'),
  39. setClass('dictionary'),
  40. set::items(createLink('bi', 'ajaxGetTableFieldsMenu')),
  41. set::onClickItem(jsRaw('window.handleClickItem'))
  42. ) : null
  43. );
  44. };