Natika\Script\EditorScript::codeMirror PHP Method

codeMirror() public static method

codeMirror
public static codeMirror ( string $name = 'editor', string $selector ) : void
$name string
$selector string
return void
    public static function codeMirror($name = 'editor', $selector)
    {
        $asset = static::getAsset();
        if (!static::inited(__METHOD__)) {
            $asset->addScript('js/codemirror/lib/codemirror.js');
            $asset->addScript('js/codemirror/mode/markdown/markdown.js');
            $asset->addStyle('js/codemirror/lib/codemirror.css');
            $asset->addStyle('js/codemirror/theme/elegant.css');
        }
        if (!static::inited(__METHOD__, func_get_args())) {
            $js = <<<JS
jQuery(document).ready(function (\$)
{
\tCodeMirror.keyMap.default["Shift-Tab"] = "indentLess";

\twindow.codeMirror = window.codeMirror || [];
\twindow.codeMirror['{$name}'] = CodeMirror.fromTextArea(\$('{$selector}')[0], {
\t\tmode: 'markdown',
\t\ttheme: 'elegant',
\t\tlineWrapping: true,
\t\tindentUnit: 4,
\t\ttabSize: 4,
\t\tindentWithTabs: false
\t});
});
JS;
            $asset->internalScript($js);
        }
    }

Usage Example

Exemplo n.º 1
0
{{-- Part of natika project. --}}

<?php 
\Natika\Script\EditorScript::codeMirror('editor', '#input-body');
\Phoenix\Script\JQueryScript::core();
\Phoenix\Asset\Asset::addScript('js/inline-uploader/inline-uploader.js');
\Phoenix\Asset\Asset::addScript('js/inline-uploader/adapter/codemirror-adapter.js');
\Phoenix\Asset\Asset::addScript('js/markdown/js-markdown-extra.min.js');
?>

<div id="editor" class="panel panel-default">
    <div class="panel-heading clearfix">
        <div class="pull-left">
            Editor
        </div>
        <div class="pull-right">

        </div>
    </div>
    <div class="panel-body">
        @if (!empty($title_field))
        <div class="form-group">
            <label for="input-title" class="sr-only">Title</label>
            <input type="text" class="form-control input-lg" id="input-title" name="item[title]" placeholder="Title" value="{{ $post->title }}">
        </div>
        @endif

            <div class="toolbar">
                <div class="btn-group">
                    <button id="button-h1" class="btn btn-default btn-sm">H1</button>
                    <button id="button-h2" class="btn btn-default btn-sm">H2</button>