v1.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. namespace zin;
  3. class detailSide extends wg
  4. {
  5. /**
  6. * @var mixed[]
  7. */
  8. protected static $defineProps = array(
  9. 'isForm?: bool=false'
  10. );
  11. public static function getPageCSS()
  12. {
  13. return <<<CSS
  14. .detail-side {width: 370px;}
  15. .detail-side .tab-content>.tab-pane {padding-left: 0 !important;}
  16. .detail-side .tabs:not(:first-child) {border-top: 1px solid #E6EAF1;}
  17. .detail-side .tabs {padding-top: 12px; padding-bottom: 20px;}
  18. .detail-side > .table-data {width: 100%;}
  19. CSS;
  20. }
  21. protected function buildExtraSide()
  22. {
  23. global $app, $lang;
  24. $app->control->loadModel('flow');
  25. $isForm = $this->prop('isForm');
  26. $object = data($app->getModuleName());
  27. $fields = $app->control->appendExtendForm('basic', $object);
  28. $extraSide = array();
  29. foreach($fields as $field)
  30. {
  31. $extraSide[] = item
  32. (
  33. $field->control == 'file' && $object->files ? fileList
  34. (
  35. set::files($object->files),
  36. set::extra($field->field),
  37. set::fieldset(false),
  38. set::showEdit(true),
  39. set::showDelete(true)
  40. ) : null,
  41. set::name($field->name),
  42. !$isForm ? div($app->control->flow->getFieldValue($field, $object)) : formGroup
  43. (
  44. set::id($field->field),
  45. set::name($field->field),
  46. set::required($field->required),
  47. set::disabled((bool)$field->readonly),
  48. set::control($field->control),
  49. set::items($field->items),
  50. set::value($field->value)
  51. )
  52. );
  53. }
  54. return $extraSide ? tableData(set::title($lang->extInfo), $extraSide) : null;
  55. }
  56. protected function build()
  57. {
  58. $extraSide = $this->buildExtraSide();
  59. return div
  60. (
  61. setClass('detail-side canvas flex-none px-6 h-min'),
  62. set($this->getRestProps()),
  63. $this->children(),
  64. $extraSide
  65. );
  66. }
  67. }