field-details.blade.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. switch($baseType) {
  17. case 'number':
  18. case 'integer':
  19. $inputType = 'number';
  20. break;
  21. case 'file':
  22. $inputType = 'file';
  23. break;
  24. default:
  25. $inputType = 'text';
  26. }
  27. @endphp
  28. @if($type === 'boolean')
  29. <label data-endpoint="{{ $endpointId }}" hidden>
  30. <input type="radio" name="{{ $fullName }}"
  31. value="{{$component === 'body' ? 'true' : 1}}"
  32. data-endpoint="{{ $endpointId }}"
  33. data-component="{{ $component }}"
  34. >
  35. <code>true</code>
  36. </label>
  37. <label data-endpoint="{{ $endpointId }}" hidden>
  38. <input type="radio" name="{{ $fullName }}"
  39. value="{{$component === 'body' ? 'false' : 0}}"
  40. data-endpoint="{{ $endpointId }}"
  41. data-component="{{ $component }}"
  42. >
  43. <code>false</code>
  44. </label>
  45. @elseif($isList)
  46. <input type="{{ $inputType }}"
  47. name="{{ $fullName."[0]" }}"
  48. data-endpoint="{{ $endpointId }}"
  49. data-component="{{ $component }}" hidden>
  50. <input type="{{ $inputType }}"
  51. name="{{ $fullName."[1]" }}"
  52. data-endpoint="{{ $endpointId }}"
  53. data-component="{{ $component }}" hidden>
  54. @else
  55. <input type="{{ $inputType }}"
  56. name="{{ $fullName }}"
  57. data-endpoint="{{ $endpointId }}"
  58. value="{!! (isset($example) && (is_string($example) || is_numeric($example))) ? $example : '' !!}"
  59. data-component="{{ $component }}" hidden>
  60. @endif
  61. @endif
  62. <br>
  63. {!! Parsedown::instance()->text($description) !!}