123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- <style>
- .nav-tabs > li:hover > i{
- display: inline;
- }
- .close-tab {
- position: absolute;
- font-size: 10px;
- top: 20px;
- right: 0;
- cursor: pointer;
- display: none;
- }
- </style>
- <div class="nav-tabs-custom has-many-{{$columnClass}}">
- <div class="row header">
- <div class="{{$viewClass['label']}}"><h4 class="pull-right">{!! $label !!}</h4></div>
- <div class="{{$viewClass['field']}}" style="margin-bottom: 5px">
- <div class="add btn btn-outline-primary btn-sm"><i class="feather icon-plus"></i> {{ trans('admin.new') }}</div>
- </div>
- </div>
- <hr class="mb-0 mt-0">
- <ul class="nav nav-tabs">
- @foreach($forms as $pk => $form)
- <li class="nav-item ">
- <a href="#{{ $relationName . '_' . $pk }}" class="nav-link @if ($form == reset($forms)) active @endif " data-toggle="tab">
- {{ $pk }} <i class="feather icon-alert-circle text-red d-none"></i>
- </a>
- <i class="close-tab feather icon-trash text-red"></i>
- </li>
- @endforeach
- </ul>
-
- <div class="tab-content has-many-{{$columnClass}}-forms">
- @foreach($forms as $pk => $form)
- <div class="tab-pane fields-group has-many-{{$columnClass}}-form @if ($form == reset($forms)) active @endif" id="{{ $relationName . '_' . $pk }}">
- {!! $form->render() !!}
- </div>
- @endforeach
- </div>
- <template class="nav-tab-tpl">
- <li class="new nav-item">
- <a href="#{{ $relationName . '_new_' . \Dcat\Admin\Form\NestedForm::DEFAULT_KEY_NAME }}" class="nav-link" data-toggle="tab">
- New {{ \Dcat\Admin\Form\NestedForm::DEFAULT_KEY_NAME }} <i class="feather icon-alert-circle text-red d-none"></i>
- </a>
- <i class="close-tab feather icon-trash text-red" ></i>
- </li>
- </template>
- <template class="pane-tpl">
- <div class="tab-pane fields-group new" id="{{ $relationName . '_new_' . Dcat\Admin\Form\NestedForm::DEFAULT_KEY_NAME }}">
- {!! $template !!}
- </div>
- </template>
- </div>
- <script>
- var container = '.has-many-{{ $columnClass }}';
-
- $(container+' > .nav').off('click', 'i.close-tab').on('click', 'i.close-tab', function(){
- var $navTab = $(this).siblings('a');
- var $pane = $($navTab.attr('href'));
- if( $pane.hasClass('new') ){
- $pane.remove();
- }else{
- $pane.removeClass('active').find('.{{ Dcat\Admin\Form\NestedForm::REMOVE_FLAG_CLASS }}').val(1);
- }
- if($navTab.closest('li').hasClass('active')){
- $navTab.closest('li').remove();
- $(container+' > .nav > li:nth-child(1) > a').click();
- }else{
- $navTab.closest('li').remove();
- }
- });
- var nestedIndex = {!! $count !!};
- function replaceNestedFormIndex(value) {
- return String(value).replace(/{{ Dcat\Admin\Form\NestedForm::DEFAULT_KEY_NAME }}/g, nestedIndex);
- }
- $(container+' > .header').off('click', '.add').on('click', '.add', function(){
- nestedIndex++;
- var navTabHtml = replaceNestedFormIndex($(container+' > template.nav-tab-tpl').html());
- var paneHtml = replaceNestedFormIndex($(container+' > template.pane-tpl').html());
- $(container+' > .nav').append(navTabHtml);
- $(container+' > .tab-content').append(paneHtml);
- $(container+' > .nav > li:last-child a').click();
- });
- if ($('.has-error').length) {
- $('.has-error').parent('.tab-pane').each(function () {
- var tabId = '#'+$(this).attr('id');
- $('li a[href="'+tabId+'"] i').removeClass('d-none');
- });
- var first = $('.has-error:first').parent().attr('id');
- $('li a[href="#'+first+'"]').tab('show');
- }
- </script>
|