Appearance
Options (layouts/inc/options.blade.php)
Файл: resources/views/layouts/inc/options.blade.php
Призначення
Цей partial відповідає за глобальний JavaScript ініціалізатор компонентів, модальні вікна і загальні скрипти (CKEditor, TinyMCE, EditorJS, LFM, Highlight.js і т.д.). Також тут визначено HTML модалів (#modal-sm, #modal-lg, #modal-xl) і форма #js-action-form для виконання дій через JS.
Змінні та конфіг:
config('lte3.view.next_destination_key', '_destination')— ключ для redirect-параметра у прихованому інпуті форми#js-action-formconfig('lte3.view.modal_key', '_modal')— ключ для відкриття модального вікна після запиту (перевіряється old/request/session)
JS ініціалізації (частина коду):
initSummernote()— ініціалізація SummernoteinitCodeMirror()— ініціалізація CodeMirrorinitDatetimepicker()— ініціалізація datetimepicker для.f-datetimepicker,.f-datepicker,.f-timepickerinitPopupImage()— ініціалізація MagnificPopup для зображеньinitEasyMdEditor()— ініціалізація EasyMDE- CKEditor/TinyMCE initializations — завантажуються лише коли відповідні vendor-папки присутні
- LFM init:
initLfmBtn()— інтеграція зі stand-alone file manager - EditorJS init:
initEditorJS()— ініціалізація EditorJS та кастомний плагінLfm(для вибору файлів)
Приклади виклику
Відкрити модал за значенням у session/old/request:
- Blade перевіряє
old($modalKey) ?: request($modalKey) ?: session()->get($modalKey)і вмикає$('').modal()
- Blade перевіряє
Виклик init-функцій після вставки HTML у modal: елементи з
data-fn-inits="initSelect2"будуть викликати ці функції.
Примітки
- Вбудована логіка перевіряє наявність директорій у public (
vendor/ckeditor,vendor/tinymce,vendor/laravel-filemanager,vendor/editorjs) і підключає відповідні скрипти лише якщо вони опубліковані. - Усі ініціалізації виконуються синхронно при завантаженні та частково повторюються при вставці AJAX-контенту (через
data-fn-inits).