field-details.blade.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <b><code>{{ $name }}</code></b>&nbsp;&nbsp;
  2. @if($type)<small>{{ $type }}</small>@endif&nbsp;
  3. @if($isInput && !$required)<i>optional</i>@endif &nbsp;
  4. @if($isInput && empty($hasChildren))
  5. @php
  6. $isList = Str::endsWith($type, '[]');
  7. $fullName =str_replace('[]', '.0', $name);
  8. $baseType = $isList ? substr($type, 0, -2) : $type;
  9. // Ignore the first '[]': the frontend will take care of it
  10. while (\Str::endsWith($baseType, '[]')) {
  11. $fullName .= '.0';
  12. $baseType = substr($baseType, 0, -2);
  13. }
  14. // When the body is an array, the item names will be ".0.thing"
  15. $fullName = ltrim($fullName, '.');
  16. $inputType = match($baseType) {
  17. 'number', 'integer' => 'number',
  18. 'file' => 'file',
  19. default => 'text',
  20. };
  21. @endphp
  22. @if($type === 'boolean')
  23. <label data-endpoint="{{ $endpointId }}" hidden>
  24. <input type="radio" name="{{ $fullName }}"
  25. value="{{$component === 'body' ? 'true' : 1}}"
  26. data-endpoint="{{ $endpointId }}"
  27. data-component="{{ $component }}"
  28. >
  29. <code>true</code>
  30. </label>
  31. <label data-endpoint="{{ $endpointId }}" hidden>
  32. <input type="radio" name="{{ $fullName }}"
  33. value="{{$component === 'body' ? 'false' : 0}}"
  34. data-endpoint="{{ $endpointId }}"
  35. data-component="{{ $component }}"
  36. >
  37. <code>false</code>
  38. </label>
  39. @elseif($isList)
  40. <input type="{{ $inputType }}"
  41. name="{{ $fullName."[0]" }}"
  42. data-endpoint="{{ $endpointId }}"
  43. data-component="{{ $component }}" hidden>
  44. <input type="{{ $inputType }}"
  45. name="{{ $fullName."[1]" }}"
  46. data-endpoint="{{ $endpointId }}"
  47. data-component="{{ $component }}" hidden>
  48. @else
  49. <input type="{{ $inputType }}"
  50. name="{{ $fullName }}"
  51. data-endpoint="{{ $endpointId }}"
  52. value="{!! (isset($example) && (is_string($example) || is_numeric($example))) ? $example : '' !!}"
  53. data-component="{{ $component }}" hidden>
  54. @endif
  55. @endif
  56. <br>
  57. {!! Parsedown::instance()->text($description) !!}