hasmany.blade.php 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <div class="row">
  2. <div class="{{$viewClass['label']}}"><h4 class="pull-right">{!! $label !!}</h4></div>
  3. <div class="{{$viewClass['field']}}"></div>
  4. </div>
  5. <hr class="mt-0">
  6. <div class="has-many-{{$columnClass}}">
  7. <div class="has-many-{{$columnClass}}-forms">
  8. @foreach($forms as $pk => $form)
  9. <div class="has-many-{{$columnClass}}-form fields-group">
  10. {!! $form->render() !!}
  11. @if($options['allowDelete'])
  12. <div class="form-group row">
  13. <label class="{{$viewClass['label']}} control-label"></label>
  14. <div class="{{$viewClass['field']}}">
  15. <div class="remove btn btn-white btn-sm pull-right"><i class="feather icon-trash">&nbsp;</i>{{ trans('admin.remove') }}</div>
  16. </div>
  17. </div>
  18. @endif
  19. <hr>
  20. </div>
  21. @endforeach
  22. </div>
  23. <template class="{{$columnClass}}-tpl">
  24. <div class="has-many-{{$columnClass}}-form fields-group">
  25. {!! $template !!}
  26. <div class="form-group row">
  27. <label class="{{$viewClass['label']}} control-label"></label>
  28. <div class="{{$viewClass['field']}}">
  29. <div class="remove btn btn-white btn-sm pull-right"><i class="feather icon-trash"></i>&nbsp;{{ trans('admin.remove') }}</div>
  30. </div>
  31. </div>
  32. <hr>
  33. </div>
  34. </template>
  35. @if($options['allowCreate'])
  36. <div class="form-group row">
  37. <label class="{{$viewClass['label']}} control-label"></label>
  38. <div class="{{$viewClass['field']}}">
  39. <div class="add btn btn-primary btn-outline btn-sm"><i class="feather icon-plus"></i>&nbsp;{{ trans('admin.new') }}</div>
  40. </div>
  41. </div>
  42. @endif
  43. </div>
  44. <script>
  45. var nestedIndex = {!! $count !!},
  46. container = '.has-many-{{ $columnClass }}',
  47. forms = '.has-many-{{ $columnClass }}-forms';
  48. function replaceNestedFormIndex(value) {
  49. return String(value).replace(/{{ Dcat\Admin\Form\NestedForm::DEFAULT_KEY_NAME }}/g, nestedIndex);
  50. }
  51. $(container).on('click', '.add', function () {
  52. var tpl = $('template.{{ $columnClass }}-tpl');
  53. nestedIndex++;
  54. var template = replaceNestedFormIndex(tpl.html());
  55. $(forms).append(template);
  56. });
  57. $(container).on('click', '.remove', function () {
  58. $(this).closest('.has-many-{{ $columnClass }}-form').hide();
  59. $(this).closest('.has-many-{{ $columnClass }}-form').find('.{{ Dcat\Admin\Form\NestedForm::REMOVE_FLAG_CLASS }}').val(1);
  60. });
  61. </script>