protected $_adminType = 'code';
protected $_databaseType = 'text';
protected $_translatable = true;
- protected $_language = 'text';
+ protected $_language = 'html';
protected $_viewNamespace = CubistBackpackServiceProvider::NAMESPACE . '::fields';
public function getDefaultAttributes()
+@php
+ $map=['html'=>'htmlmixed'];
+ $mode=$field['language'];
+ if(isset($map[$mode])){
+ $mode=$map[$mode];
+ }
+
+ $allDependencies=['htmlmixed'=>['xml','javascript','css']];
+ $dependencies=[];
+ if(isset($allDependencies[$mode])){
+ $dependencies=$allDependencies[$mode];
+ }
+@endphp
<!-- textarea -->
@include('crud::fields.inc.wrapper_start')
<label>{!! $field['label'] !!}</label>
@include('crud::fields.inc.translatable_icon')
<textarea
class="code"
- data-language="{{$field['language']}}"
+ data-mode="{{$mode}}"
name="{{ $field['name'] }}"
@include('crud::fields.inc.attributes')
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.58.1/codemirror.min.js"
integrity="sha512-WWC1A/JchDFZ2ZGaNyMC7CmPFXGLI/6Ih7WN6YG0DX1NGMkW5lqCVFxCmEx3e56Z7iqdQGpO0f+m2t9CJhdb2Q=="
crossorigin="anonymous"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.58.1/addon/runmode/colorize.min.js"
+ integrity="sha512-GWO6evZYugPhppUQv6Kz/yk8j993+9rx+rHFgXXqerywakcoox3sSEjj756hf/qSHIABGIg/TlyfveTqxtLS1w=="
+ crossorigin="anonymous"></script>
<script>
jQuery(document).ready(function ($) {
function initMirrorCode() {
$(this).data('mirrorcodeok', true);
CodeMirror.fromTextArea($(this).get(0), {
lineNumbers: true,
- mode: $(this).data('language'),
+ mode: $(this).data('mode'),
});
});
}
</script>
@endpush
@endif
+@push('crud_fields_scripts')
+ @foreach($dependencies as $dep)
+ <script
+ src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.58.1/mode/{{$dep}}/{{$dep}}.min.js"></script>
+ @endforeach
+ <script
+ src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.58.1/mode/{{$mode}}/{{$mode}}.min.js"></script>
+@endpush