edit.html.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <?php
  2. /**
  3. * The edit file of block module of ZenTaoPMS.
  4. *
  5. * @copyright Copyright 2009-2023 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
  6. * @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
  7. * @author liuruogu<liuruogu@easycorp.ltd>
  8. * @package block
  9. * @link https://www.zentao.net
  10. */
  11. namespace zin;
  12. include 'common.ui.php';
  13. set::title($title);
  14. jsVar('blockID', $block->id);
  15. jsVar('blockTitle', $lang->block->blockTitle);
  16. $showModules = ($dashboard == 'my' && $modules);
  17. $showCodes = (($showModules && $module && $codes) || $dashboard != 'my');
  18. $code = $showCodes ? $code : $module;
  19. $blockSize = !empty($config->block->size[$module][$code]) ? $config->block->size[$module][$code] : $config->block->defaultSize; // 获取当前区块的可选尺寸。
  20. /* 根据区块的可选尺寸生成区块的可选宽度列表。 */
  21. $widthOptions = array();
  22. foreach(array_keys($blockSize) as $width) $widthOptions[$width] = zget($this->lang->block->widthOptions, $width);
  23. row
  24. (
  25. setID('blockEditForm'),
  26. $showModules ? cell
  27. (
  28. set::width(128),
  29. setClass('flex-none bg-surface rounded rounded-r-none rounded-tl-none overflow-y-auto'),
  30. buildBlockModuleNav()
  31. ) : null,
  32. cell
  33. (
  34. setClass('flex-auto pt-2 pr-6 pb-4'),
  35. form
  36. (
  37. on::change('[name="code"]', 'getForm'),
  38. on::change('[name="params\[type\]"]', 'changeType'),
  39. set::submitBtnText($lang->save),
  40. formRow
  41. (
  42. setClass('hidden'),
  43. formGroup
  44. (
  45. set::name('module'),
  46. set::value($showModules ? $module : $dashboard)
  47. )
  48. ),
  49. formRow
  50. (
  51. setID('codesRow'),
  52. setClass($showCodes ? '' : 'hidden'),
  53. formGroup
  54. (
  55. set::label($lang->block->lblBlock),
  56. set::name('code'),
  57. set::value($showCodes ? $code : $module),
  58. set::control
  59. (
  60. $showCodes ? array
  61. (
  62. 'type' => 'picker',
  63. 'items' => $codes
  64. ) : 'input'
  65. )
  66. )
  67. ),
  68. div
  69. (
  70. setID('paramsRow'),
  71. setClass('space-y-4'),
  72. buildParamsRows($block, null, $module, $code),
  73. formRow
  74. (
  75. setClass(empty($code) ? 'hidden' : ''),
  76. formGroup
  77. (
  78. set::label($lang->block->width),
  79. picker
  80. (
  81. set::name('width'),
  82. set::items($widthOptions),
  83. set::value($code == $block->code ? $block->width : ''),
  84. set::required(true)
  85. )
  86. )
  87. ),
  88. formRow
  89. (
  90. setClass($module == 'html' ? '' : 'hidden'),
  91. formGroup
  92. (
  93. set::label($lang->block->lblHtml),
  94. editor(set::name('html'), html(zget($block->params, 'html')))
  95. )
  96. )
  97. )
  98. )
  99. )
  100. );
  101. if(isInModal())
  102. {
  103. set::condensed(true);
  104. set::bodyClass('border-t');
  105. set::bodyProps(array('style' => array('padding' => 0)));
  106. }
  107. render();