Fieldset.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. namespace Dcat\Admin\Form\Field;
  3. use Dcat\Admin\Admin;
  4. class Fieldset
  5. {
  6. protected $name = '';
  7. public function __construct()
  8. {
  9. $this->name = uniqid('fieldset-');
  10. }
  11. public function start($title)
  12. {
  13. $script = <<<JS
  14. $('.{$this->name}-title').on('click', function () {
  15. $("i", this).toggleClass("fa-angle-double-down fa-angle-double-up");
  16. });
  17. JS;
  18. Admin::script($script);
  19. return <<<HTML
  20. <div>
  21. <div class="mt-2 text-center" style="height: 20px; border-bottom: 1px solid #eee; margin-bottom: 25px">
  22. <span style="font-size: 16px; background-color: #ffffff; padding: 0 10px;">
  23. <a data-toggle="collapse" href="#{$this->name}" class="{$this->name}-title">
  24. <i class="fa fa-angle-double-up"></i>&nbsp;&nbsp;{$title}
  25. </a>
  26. </span>
  27. </div>
  28. <div class="collapse show" id="{$this->name}">
  29. HTML;
  30. }
  31. public function end()
  32. {
  33. return '</div></div>';
  34. }
  35. public function collapsed()
  36. {
  37. $script = <<<JS
  38. $("#{$this->name}").removeClass("show");
  39. $(".{$this->name}-title i").toggleClass("fa-angle-double-down fa-angle-double-up");
  40. JS;
  41. Admin::script($script);
  42. return $this;
  43. }
  44. }