@php use Botble\Base\Facades\Assets; @endphp
@props([
'id' => null,
'label' => null,
'name' => null,
'value' => old($name),
'helperText' => null,
'errorKey' => $name,
'mode' => null,
])
@php
$id = $id ?: $name . '_' . md5($name);
$mode = $mode === 'html' ? 'htmlmixed' : $mode;
$css = [
'vendor/core/core/base/libraries/codemirror/lib/codemirror.css',
'vendor/core/core/base/libraries/codemirror/addon/hint/show-hint.css',
];
$js = [
'vendor/core/core/base/libraries/codemirror/lib/codemirror.js',
'vendor/core/core/base/libraries/codemirror/addon/hint/show-hint.js',
'vendor/core/core/base/libraries/codemirror/addon/hint/anyword-hint.js',
'vendor/core/core/base/libraries/codemirror/addon/display/autorefresh.js',
];
switch ($mode) {
case 'htmlmixed':
$js = [
...$js,
'vendor/core/core/base/libraries/codemirror/mode/htmlmixed.js',
'vendor/core/core/base/libraries/codemirror/mode/css.js',
'vendor/core/core/base/libraries/codemirror/mode/javascript.js',
'vendor/core/core/base/libraries/codemirror/mode/xml.js',
'vendor/core/core/base/libraries/codemirror/addon/hint/xml-hint.js',
'vendor/core/core/base/libraries/codemirror/addon/hint/html-hint.js',
'vendor/core/core/base/libraries/codemirror/addon/hint/css-hint.js',
'vendor/core/core/base/libraries/codemirror/addon/hint/javascript-hint.js',
];
break;
case 'css':
$js = [
...$js,
'vendor/core/core/base/libraries/codemirror/mode/css.js',
'vendor/core/core/base/libraries/codemirror/addon/hint/css-hint.js',
];
break;
case 'javascript':
$js = [
...$js,
'vendor/core/core/base/libraries/codemirror/mode/javascript.js',
'vendor/core/core/base/libraries/codemirror/addon/hint/javascript-hint.js',
];
break;
}
Assets::addStylesDirectly($css)
->addScriptsDirectly($js);
@endphp
@if ($label)
@endif
@if ($helperText)
{!! $helperText !!}
@endif
@if (request()->ajax())
@foreach($css as $cssItem)
@endforeach
@foreach($js as $jsItem)
@endforeach
@endif