@extends('layouts.admin')
@section('content')

<div class="card">
    <div class="card-header">
        {{trans('cruds.cmspages.edit_cms_page')}}
    </div>

    <div class="card-body">
        <form method="POST" action="{{ route('admin.cms-pages.update', [$cmsPage->id]) }}" enctype="multipart/form-data">
            @method('PUT')
            @csrf
            <div class="form-group">
                <label class="required" for="title">{{ trans('cruds.cmspages.fields.page_title') }}</label>
                <input class="form-control {{ $errors->has('title') ? 'is-invalid' : '' }}" type="text" name="title" id="title" value="{{ old('title', $cmsPage->title) }}" required>
                @if($errors->has('title'))
                    <div class="invalid-feedback">
                        {{ $errors->first('title') }}
                    </div>
                @endif
                {{-- <span class="help-block">{{ trans('cruds.cmspages.fields.page_title_helper') }}</span> --}}
            </div>
            <div class="form-group">
                <label class="required" for="title">{{ trans('cruds.cmspages.fields.page_title_arabic') }}</label>
                <input class="form-control {{ $errors->has('title_arabic') ? 'is-invalid' : '' }}" type="text" name="title_arabic" id="title_arabic" value="{{ old('title_arabic', $cmsPage->title_arabic) }}" required>
                @if($errors->has('title_arabic'))
                    <div class="invalid-feedback">
                        {{ $errors->first('title_arabic') }}
                    </div>
                @endif
                {{-- <span class="help-block">{{ trans('cruds.cmspages.fields.page_title_arabic_helper') }}</span> --}}
            </div>
            <div class="form-group">
                <label class="required" for="slug">{{ trans('cruds.cmspages.fields.slug') }}</label>
                <input class="form-control {{ $errors->has('slug') ? 'is-invalid' : '' }}" type="text" name="slug" id="slug" value="{{ old('slug', $cmsPage->slug) }}" readonly required>
                @if($errors->has('slug'))
                    <div class="invalid-feedback">
                        {{ $errors->first('slug') }}
                    </div>
                @endif
                {{-- <span class="help-block">{{ trans('cruds.cmspages.fields.slug_helper') }}</span> --}}
            </div>
            <div class="form-group">
                <label for="content">{{ trans('cruds.cmspages.fields.content_english') }}</label>
                <textarea class="form-control ckeditor {{ $errors->has('content') ? 'is-invalid' : '' }}" name="content" id="content">{!! old('content', $cmsPage->content) !!}</textarea>
                @if($errors->has('content'))
                    <div class="invalid-feedback">
                        {{ $errors->first('content') }}
                    </div>
                @endif
                {{-- <span class="help-block">{{ trans('cruds.cmspages.fields.content_english_helper') }}</span> --}}
            </div>
            <div class="form-group">
                <label for="content">{{ trans('cruds.cmspages.fields.content_arabic') }}</label>
                <textarea class="form-control ckeditor {{ $errors->has('content_arabic') ? 'is-invalid' : '' }}" name="content_arabic" id="content_arabic">{!! old('content_arabic', $cmsPage->content_arabic) !!}</textarea>
                @if($errors->has('content_arabic'))
                    <div class="invalid-feedback">
                        {{ $errors->first('content_arabic') }}
                    </div>
                @endif
                {{-- <span class="help-block">{{ trans('cruds.cmspages.fields.content_arabic_helper') }}</span> --}}
            </div>
            <div class="form-group">
                <button class="btn btn-danger create-submit-btn" type="submit">
                    {{ trans('global.save') }}
                </button>
            </div>
        </form>
    </div>
</div>

@endsection

@section('scripts')
<script>
    $(document).ready(function () {
  function SimpleUploadAdapter(editor) {
    editor.plugins.get('FileRepository').createUploadAdapter = function(loader) {
      return {
        upload: function() {
          return loader.file
            .then(function (file) {
              return new Promise(function(resolve, reject) {
                // Init request
                var xhr = new XMLHttpRequest();
                xhr.open('POST', "{{ route('admin.cms-pages.storeCKEditorImages') }}", true);
                xhr.setRequestHeader('x-csrf-token', window._token);
                xhr.setRequestHeader('Accept', 'application/json');
                xhr.responseType = 'json';

                // Init listeners
                var genericErrorText = `Couldn't upload file: ${ file.name }.`;
                xhr.addEventListener('error', function() { reject(genericErrorText) });
                xhr.addEventListener('abort', function() { reject() });
                xhr.addEventListener('load', function() {
                  var response = xhr.response;

                  if (!response || xhr.status !== 201) {
                    return reject(response && response.message ? `${genericErrorText}\n${xhr.status} ${response.message}` : `${genericErrorText}\n ${xhr.status} ${xhr.statusText}`);
                  }

                  $('form').append('<input type="hidden" name="ck-media[]" value="' + response.id + '">');

                  resolve({ default: response.url });
                });

                if (xhr.upload) {
                  xhr.upload.addEventListener('progress', function(e) {
                    if (e.lengthComputable) {
                      loader.uploadTotal = e.total;
                      loader.uploaded = e.loaded;
                    }
                  });
                }

                // Send request
                var data = new FormData();
                data.append('upload', file);
                data.append('crud_id', '{{ $cmsPage->id ?? 0 }}');
                xhr.send(data);
              });
            })
        }
      };
    }
  }

  var allEditors = document.querySelectorAll('.ckeditor');
  for (var i = 0; i < allEditors.length; ++i) {
    ClassicEditor.create(
      allEditors[i], {
        extraPlugins: [SimpleUploadAdapter]
      }
    );
  }
});
</script>

@endsection
