slavawins/easyapi

0.2.5 2024-02-29 16:13 UTC

This package is auto-updated.

Last update: 2024-04-29 16:33:33 UTC


README

logo.jpg

EasyApi

Кароч изи пакет

Установка из composer

composer require slavawins/easyapi

Опубликовать js файлы, вью и миграции необходимые для работы пакета. Вызывать команду:

php artisan vendor:publish --provider="EasyApi\Providers\EasyApiServiceProvider"

Подключить


   <script src="{{ asset('js/easyapi/easyclass.js') }}"></script>
   <script src="{{ asset('js/easyapi/easyapi.js') }}"></script>
   <script src="{{ asset('js/easyapi/easyform.js') }}" defer></script>

Ajax формы

Это очень крутая штука называется ajaxform это компонент лавель который создаёт форму с правильным crf токеном. она сама создаёт кнопку сама создаёт форму и также она обрабатывает response json API То есть если в ответ будет ошибка Она пишет ошибку если ошибка сервера типа там 404 в ответ получится Он тоже это обработает и эти формы Они отправляются именно ajax запросом Тоесть без обновления страницы

 <x-easy-form route="{{route('product.buy', $product)}}" btn="Купить" onSuccess="EasyApi.UpdatePage">
           @php
               FElement::NewInputText()
                ->SetLabel("Количество")
                ->SetName("amount")
                ->SetValue(1)
                ->FrontendValidate()->Digital(1)
                ->SetPlaceholder("Сколько купить?")
                ->RenderHtml(true);
           @endphp

          
       </x-easy-form>

onSuccess - вот этот вот атрибут вызывается джаваскрипт он когда Да форма успешно выполнена То есть когда пришел положительный 200 ок Ответ она вызывает этот джаваскрипт внутри можно засунуть классную функцию которая обновляет страницу

Обновление страниц по ajax

фишка вот в чём есть функция которая обращается какой-то страницы с помощью Get запроса и получает оттуда весь контент атамана этот контент обрезается вот по комментариям в HTML коде который ниже указан она понимает Где находится контент А где х**** которая нужно вырезать

Мега крутое дерьмо. Значит нужно обвернуть шаблон в комментарий. У меня это app.blade в нем вот куда контент ставится там и обернул.

<div id="app">
   <!-- easycontent.start -->
   @yield('app')
   <!-- easycontent.end -->
</div>

затем вы вызываете вот эту JS вот функцию и оно само обновляет страницу При этом она делает красивый эффект что вот типа смотрите прозрачность идёт загрузка и сам обновляет также она evrial обновляет в браузере но чтобы человек обновил страницу чтобы он оказался там же куда откуда контент погрузился

EasyApi.UpdatePage();
EasyApi.UpdatePage('/');

ещё на базе эта функция есть вот что такой Триггер который вызывается Get запрос по ссылке а потом обновляет текущую страницу это подходит хорошо для Ford допустим пользователь нажал купить товар у него должен на экране баланс уменьшится типа количество денег мы вызываем эту функцию она вызывает Get запрос а потом обновляет текущую с помощью апдейт Пейдж

EasyApi.CallGetAndUpdatePage("/call/xz/2")