groupitem.html.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. /**
  3. * The groupitem file of pivot design 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 Chenxuan Song <songchenxuan@easycorp.ltd>
  7. * @package pivot
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. $fnGenerateGroupItem = function($key, $value, $itemCount, $options, $errors) use ($pivotState)
  12. {
  13. $hasError = isset($errors[$key]);
  14. $canAdd = (($this->config->edition == 'biz' && $itemCount < 3) ||
  15. (in_array($this->config->edition, array('max', 'ipd')) && $itemCount < 5));
  16. return div
  17. (
  18. setClass("pl-1 group-line"),
  19. set('data-key', $key),
  20. div
  21. (
  22. setClass('flex'),
  23. div
  24. (
  25. setClass('picker-group'),
  26. picker
  27. (
  28. setID("picker_group$key"),
  29. setClass(array('has-error' => $hasError)),
  30. set::name($key),
  31. set::value($value),
  32. set::items($options['fields']),
  33. on::change()->do('changeSettingGroup(event)')
  34. ),
  35. span
  36. (
  37. setClass('text-danger', array('hidden' => !$hasError)),
  38. $this->lang->pivot->emptyGroupError
  39. )
  40. ),
  41. toolbar
  42. (
  43. setClass('pl-2 gap-1'),
  44. btn
  45. (
  46. setClass('ghost size-sm squre group-add', array('hidden' => !$canAdd)),
  47. set::icon('plus'),
  48. on::click()->do('addSettingGroup(event)')
  49. ),
  50. btn
  51. (
  52. setClass('ghost size-sm squre group-delete', array('hidden' => $itemCount == 1)),
  53. set::icon('close'),
  54. on::click()->do('deleteSettingGroup(event)')
  55. )
  56. )
  57. )
  58. );
  59. };