]> _ Git - cubist_cms-back.git/commitdiff
wip #3939 @0.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 8 Oct 2020 17:54:21 +0000 (19:54 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 8 Oct 2020 17:54:21 +0000 (19:54 +0200)
src/app/Magic/Fields/Code.php
src/resources/views/fields/code.blade.php

index 0a64ef33c7707218e49b435a28cbdd2373db2b1f..8f80b595fb1d38c3cc0a4255531eb71b6c2145da 100644 (file)
@@ -11,7 +11,7 @@ class Code extends Textarea
     protected $_adminType = 'code';
     protected $_databaseType = 'text';
     protected $_translatable = true;
-    protected $_language = 'text';
+    protected $_language = 'html';
     protected $_viewNamespace = CubistBackpackServiceProvider::NAMESPACE . '::fields';
 
     public function getDefaultAttributes()
index 25bc2eab6d41ec10601a87705ffa9620edc86bc5..a835e2a18206165eca4c6530e78e2b3f8d91fede 100644 (file)
@@ -1,10 +1,23 @@
+@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')
 
@@ -30,6 +43,9 @@
         <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() {
@@ -40,7 +56,7 @@
                         $(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