fontSize = $this->getConfig('fontSize', $editorSettings->font_size); $this->wordWrap = $this->getConfig('wordWrap', $editorSettings->word_wrap); $this->codeFolding = $this->getConfig('codeFolding', $editorSettings->code_folding); $this->tabSize = $this->getConfig('tabSize', $editorSettings->tab_size); $this->theme = $this->getConfig('theme', $editorSettings->theme); $this->showInvisibles = $this->getConfig('showInvisibles', $editorSettings->show_invisibles); $this->highlightActiveLine = $this->getConfig('highlightActiveLine', $editorSettings->highlight_active_line); $this->useSoftTabs = $this->getConfig('useSoftTabs', !$editorSettings->use_hard_tabs); $this->showGutter = $this->getConfig('showGutter', $editorSettings->show_gutter); $this->language = $this->getConfig('language', 'php'); $this->margin = $this->getConfig('margin', 0); } /** * {@inheritDoc} */ public function render() { $this->prepareVars(); return $this->makePartial('codeeditor'); } /** * Prepares the list data */ public function prepareVars() { $this->vars['fontSize'] = $this->fontSize; $this->vars['wordWrap'] = $this->wordWrap; $this->vars['codeFolding'] = $this->codeFolding; $this->vars['tabSize'] = $this->tabSize; $this->vars['theme'] = $this->theme; $this->vars['showInvisibles'] = $this->showInvisibles; $this->vars['highlightActiveLine'] = $this->highlightActiveLine; $this->vars['useSoftTabs'] = $this->useSoftTabs; $this->vars['showGutter'] = $this->showGutter; $this->vars['language'] = $this->language; $this->vars['margin'] = $this->margin; $this->vars['stretch'] = $this->formField->stretch; $this->vars['size'] = $this->formField->size; $this->vars['name'] = $this->formField->getName(); $this->vars['value'] = $this->model->{$this->columnName}; } /** * {@inheritDoc} */ public function loadAssets() { $this->addCss('css/codeeditor.css', 'core'); $this->addJs('vendor/ace/ace.js', 'core'); $this->addJs('js/codeeditor.js', 'core'); } }